linux/drivers/staging/media/atomisp/pci/ia_css_env.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2015, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 */

#ifndef __IA_CSS_ENV_H
#define __IA_CSS_ENV_H

#include <type_support.h>
#include <linux/stdarg.h> /* va_list */
#include <linux/bits.h>
#include "ia_css_types.h"
#include "ia_css_acc_types.h"

/* @file
 * This file contains prototypes for functions that need to be provided to the
 * CSS-API host-code by the environment in which the CSS-API code runs.
 */

/* Memory allocation attributes, for use in ia_css_css_mem_env. */
enum ia_css_mem_attr {};

/* Environment with function pointers for local IA memory allocation.
 *  This provides the CSS code with environment specific functionality
 *  for memory allocation of small local buffers such as local data structures.
 *  This is never expected to allocate more than one page of memory (4K bytes).
 */
struct ia_css_cpu_mem_env {};

/* Environment with function pointers to access the CSS hardware. This includes
 *  registers and local memories.
 */
struct ia_css_hw_access_env {};

/* Environment with function pointers to print error and debug messages.
 */
struct ia_css_print_env {};

/* Environment structure. This includes function pointers to access several
 *  features provided by the environment in which the CSS API is used.
 *  This is used to run the camera IP in multiple platforms such as Linux,
 *  Windows and several simulation environments.
 */
struct ia_css_env {};

#endif /* __IA_CSS_ENV_H */