1#ifndef ISP2401 2/* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15#else 16/** 17Support for Intel Camera Imaging ISP subsystem. 18Copyright (c) 2010 - 2015, Intel Corporation. 19 20This program is free software; you can redistribute it and/or modify it 21under the terms and conditions of the GNU General Public License, 22version 2, as published by the Free Software Foundation. 23 24This program is distributed in the hope it will be useful, but WITHOUT 25ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 26FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 27more details. 28*/ 29#endif 30 31#ifndef __IA_CSS_ISYS_COMM_H 32#define __IA_CSS_ISYS_COMM_H 33 34#include <type_support.h> 35#include <input_system.h> 36 37#ifdef USE_INPUT_SYSTEM_VERSION_2401 38#include <platform_support.h> /* inline */ 39#include <input_system_global.h> 40#include <ia_css_stream_public.h> /* IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH */ 41 42#define SH_CSS_NODES_PER_THREAD 2 43#define SH_CSS_MAX_ISYS_CHANNEL_NODES (SH_CSS_MAX_SP_THREADS * SH_CSS_NODES_PER_THREAD) 44 45/* 46 * a) ia_css_isys_stream_h & ia_css_isys_stream_cfg_t come from host. 47 * 48 * b) Here it is better to use actual structures for stream handle 49 * instead of opaque handles. Otherwise, we need to have another 50 * communication channel to interpret that opaque handle(this handle is 51 * maintained by host and needs to be populated to sp for every stream open) 52 * */ 53typedef virtual_input_system_stream_t *ia_css_isys_stream_h; 54typedef virtual_input_system_stream_cfg_t ia_css_isys_stream_cfg_t; 55 56/* 57 * error check for ISYS APIs. 58 * */ 59typedef bool ia_css_isys_error_t; 60 61static inline uint32_t ia_css_isys_generate_stream_id( 62 uint32_t sp_thread_id, 63 uint32_t stream_id) 64{ 65 return sp_thread_id * IA_CSS_STREAM_MAX_ISYS_STREAM_PER_CH + stream_id; 66} 67 68#endif /* USE_INPUT_SYSTEM_VERSION_2401*/ 69#endif /*_IA_CSS_ISYS_COMM_H */ 70