diff options
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface')
3 files changed, 0 insertions, 683 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/input_buf.isp.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/input_buf.isp.h deleted file mode 100644 index 32714d5870cf..000000000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/input_buf.isp.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef ISP2401 -/* - * 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. - */ -#else -/** -Support for Intel Camera Imaging ISP subsystem. -Copyright (c) 2010 - 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. -*/ -#endif - -#ifndef _INPUT_BUF_ISP_H_ -#define _INPUT_BUF_ISP_H_ - -/* Temporary include, since IA_CSS_BINARY_MODE_COPY is still needed */ -#include "sh_css_defs.h" -#include "isp_const.h" /* MAX_VECTORS_PER_INPUT_LINE */ - -#define INPUT_BUF_HEIGHT 2 /* double buffer */ -#define INPUT_BUF_LINES 2 - -#ifndef ENABLE_CONTINUOUS -#define ENABLE_CONTINUOUS 0 -#endif - -/* In continuous mode, the input buffer must be a fixed size for all binaries - * and at a fixed address since it will be used by the SP. */ -#define EXTRA_INPUT_VECTORS 2 /* For left padding */ -#define MAX_VECTORS_PER_INPUT_LINE_CONT (CEIL_DIV(SH_CSS_MAX_SENSOR_WIDTH, ISP_NWAY) + EXTRA_INPUT_VECTORS) - -/* The input buffer should be on a fixed address in vmem, for continuous capture */ -#define INPUT_BUF_ADDR 0x0 -#if (defined(__ISP) && (!defined(MODE) || MODE != IA_CSS_BINARY_MODE_COPY)) - -#if ENABLE_CONTINUOUS -typedef struct { - tmemvectoru raw[INPUT_BUF_HEIGHT][INPUT_BUF_LINES][MAX_VECTORS_PER_INPUT_LINE_CONT]; /* 2 bayer lines */ - /* Two more lines for SP raw copy efficiency */ -#ifndef ENABLE_REDUCED_INPUT_BUFFER - /* "Workaround" solution in the case that space needed vmem exceeds the size of the vmem. */ - /* Since in theory this buffer is not needed for IPU 2.2/2.3, */ - /* the workaround solution will not be needed (and the whole buffer) after the code refactoring. */ - tmemvectoru _raw[INPUT_BUF_HEIGHT][INPUT_BUF_LINES][MAX_VECTORS_PER_INPUT_LINE_CONT]; /* 2 bayer lines */ -#endif -} input_line_type; -#else /* ENABLE CONTINUOUS == 0 */ -typedef struct { - tmemvectoru raw[INPUT_BUF_HEIGHT][INPUT_BUF_LINES][MAX_VECTORS_PER_INPUT_LINE]; /* 2 bayer lines */ -} input_line_type; -#endif /* ENABLE_CONTINUOUS */ - -#endif /*MODE*/ - -#endif /* _INPUT_BUF_ISP_H_ */ diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_const.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_const.h deleted file mode 100644 index 2f215dc2ac32..000000000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_const.h +++ /dev/null @@ -1,482 +0,0 @@ -#ifndef ISP2401 -/* - * 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. - */ -#else -/** -Support for Intel Camera Imaging ISP subsystem. -Copyright (c) 2010 - 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. -*/ -#endif - -#ifndef _COMMON_ISP_CONST_H_ -#define _COMMON_ISP_CONST_H_ - -/*#include "isp.h"*/ /* ISP_VEC_NELEMS */ - -/* Binary independent constants */ - -#ifndef NO_HOIST -# define NO_HOIST HIVE_ATTRIBUTE (( no_hoist )) -#endif - -#define NO_HOIST_CSE HIVE_ATTRIBUTE ((no_hoist, no_cse)) - -#define UNION struct /* Union constructors not allowed in C++ */ - -/* ISP binary identifiers. - These determine the order in which the binaries are looked up, do not change - this! - Also, the SP firmware uses this same order (isp_loader.hive.c). - Also, gen_firmware.c uses this order in its firmware_header. -*/ -/* The binary id is used in pre-processor expressions so we cannot - * use an enum here. */ - /* 24xx pipelines*/ -#define SH_CSS_BINARY_ID_COPY 0 -#define SH_CSS_BINARY_ID_BAYER_DS 1 -#define SH_CSS_BINARY_ID_VF_PP_FULL 2 -#define SH_CSS_BINARY_ID_VF_PP_OPT 3 -#define SH_CSS_BINARY_ID_YUV_SCALE 4 -#define SH_CSS_BINARY_ID_CAPTURE_PP 5 -#define SH_CSS_BINARY_ID_PRE_ISP 6 -#define SH_CSS_BINARY_ID_PRE_ISP_ISP2 7 -#define SH_CSS_BINARY_ID_GDC 8 -#define SH_CSS_BINARY_ID_POST_ISP 9 -#define SH_CSS_BINARY_ID_POST_ISP_ISP2 10 -#define SH_CSS_BINARY_ID_ANR 11 -#define SH_CSS_BINARY_ID_ANR_ISP2 12 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_DS 13 -#define SH_CSS_BINARY_ID_PREVIEW_DS 14 -#define SH_CSS_BINARY_ID_PREVIEW_DEC 15 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_BDS125_ISP2 16 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_DPC_BDS150_ISP2 17 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_BDS150_ISP2 18 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_DPC_BDS200_ISP2 19 -#define SH_CSS_BINARY_ID_PREVIEW_CONT_BDS200_ISP2 20 -#define SH_CSS_BINARY_ID_PREVIEW_DZ 21 -#define SH_CSS_BINARY_ID_PREVIEW_DZ_ISP2 22 -#define SH_CSS_BINARY_ID_PRIMARY_DS 23 -#define SH_CSS_BINARY_ID_PRIMARY_VAR 24 -#define SH_CSS_BINARY_ID_PRIMARY_VAR_ISP2 25 -#define SH_CSS_BINARY_ID_PRIMARY_SMALL 26 -#define SH_CSS_BINARY_ID_PRIMARY_STRIPED 27 -#define SH_CSS_BINARY_ID_PRIMARY_STRIPED_ISP2 28 -#define SH_CSS_BINARY_ID_PRIMARY_8MP 29 -#define SH_CSS_BINARY_ID_PRIMARY_14MP 30 -#define SH_CSS_BINARY_ID_PRIMARY_16MP 31 -#define SH_CSS_BINARY_ID_PRIMARY_REF 32 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE0 33 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE1 34 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE2 35 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE3 36 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE4 37 -#define SH_CSS_BINARY_ID_PRIMARY_ISP261_STAGE5 38 -#define SH_CSS_BINARY_ID_VIDEO_OFFLINE 39 -#define SH_CSS_BINARY_ID_VIDEO_DS 40 -#define SH_CSS_BINARY_ID_VIDEO_YUV_DS 41 -#define SH_CSS_BINARY_ID_VIDEO_DZ 42 -#define SH_CSS_BINARY_ID_VIDEO_DZ_2400_ONLY 43 -#define SH_CSS_BINARY_ID_VIDEO_HIGH 44 -#define SH_CSS_BINARY_ID_VIDEO_NODZ 45 -#define SH_CSS_BINARY_ID_VIDEO_CONT_MULTIBDS_ISP2_MIN 46 -#define SH_CSS_BINARY_ID_VIDEO_CONT_BDS_300_600_ISP2_MIN 47 -#define SH_CSS_BINARY_ID_VIDEO_CONT_DPC_BDS150_ISP2_MIN 48 -#define SH_CSS_BINARY_ID_VIDEO_CONT_BDS150_ISP2_MIN 49 -#define SH_CSS_BINARY_ID_VIDEO_CONT_DPC_BDS200_ISP2_MIN 50 -#define SH_CSS_BINARY_ID_VIDEO_CONT_BDS200_ISP2_MIN 51 -#define SH_CSS_BINARY_ID_VIDEO_CONT_NOBDS_ISP2_MIN 52 -#define SH_CSS_BINARY_ID_VIDEO_DZ_ISP2_MIN 53 -#define SH_CSS_BINARY_ID_VIDEO_DZ_ISP2 54 -#define SH_CSS_BINARY_ID_VIDEO_LP_ISP2 55 -#define SH_CSS_BINARY_ID_RESERVED1 56 -#define SH_CSS_BINARY_ID_ACCELERATION 57 -#define SH_CSS_BINARY_ID_PRE_DE_ISP2 58 -#define SH_CSS_BINARY_ID_KERNEL_TEST_LOAD_STORE 59 -#define SH_CSS_BINARY_ID_CAPTURE_PP_BLI 60 -#define SH_CSS_BINARY_ID_CAPTURE_PP_LDC 61 -#ifdef ISP2401 -#define SH_CSS_BINARY_ID_PRIMARY_STRIPED_ISP2_XNR 62 -#endif - -/* skycam kerneltest pipelines */ -#ifndef ISP2401 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_NORM 120 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_NORM_STRIPED 121 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_LIN 122 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_LIN_STRIPED 123 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_SHD 124 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_SHD_STRIPED 125 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AWB 126 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_3A 127 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_3A_STRIPED 128 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AF 129 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OBGRID 130 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_BAYER_DENOISE 131 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_BAYER_DENOISE_STRIPED 132 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_DEMOSAIC 133 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP1_C0 134 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP2 135 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_REF 136 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_REF_STRIPED 137 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_REF 138 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DVS 139 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR 140 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_STRIPED 141 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_BLENDING 142 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR_BLOCK 143 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AE 144 -#define SH_CSS_BINARY_ID_VIDEO_RAW 145 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AWB_FR 146 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DM_RGBPP 147 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DM_RGBPP_STRIPED 148 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_ANR 149 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_IF 150 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_IF_STRIPED 151 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SYSTEM 152 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR_STRIPED 153 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DVS_STRIPED 154 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OBGRID_STRIPED 155 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV 156 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV_BLOCK 157 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV16_BLOCK 158 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV16_STRIPED 159 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_BLOCK_STRIPED 160 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_INPUT_YUV 161 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_YUV 162 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_YUV_16 163 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SPLIT 164 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SYSTEM_STRIPED 165 - -#else -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_NORM 121 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_NORM_STRIPED 122 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OBGRID 123 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OBGRID_STRIPED 124 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_LIN 125 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_LIN_STRIPED 126 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_SHD 127 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_SHD_STRIPED 128 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AE 129 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AWB 130 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AF 131 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_ACC_AWB_FR 132 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_3A 133 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_3A_STRIPED 134 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_BAYER_DENOISE 135 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_BAYER_DENOISE_STRIPED 136 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_ANR 137 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_ANR_STRIPED 138 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_DEMOSAIC 139 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DM_RGBPP 140 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DM_RGBPP_STRIPED 141 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP1_C0 142 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP2 143 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP2_STRIPED 144 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_REF 145 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR 146 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_STRIPED 147 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_XNR_BLENDING 148 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_REF 149 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_REF_STRIPED 150 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DVS 151 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_DVS_STRIPED 152 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_DVS_STAT_C0 153 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR_BLOCK 154 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR_STRIPED 155 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SYSTEM 156 -#define SH_CSS_BINARY_ID_VIDEO_RAW 157 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV 158 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV_BLOCK 159 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV16_BLOCK 160 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_YUV16_STRIPED 161 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_COPY_BLOCK_STRIPED 162 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_INPUT_YUV 163 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_YUV 164 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_YUV_16 165 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SPLIT 166 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_OUTPUT_SYSTEM_STRIPED 167 -#define SH_CSS_BINARY_ID_COPY_KERNELTEST_OUTPUT_SYSTEM 168 -#endif - -/* skycam partial test pipelines*/ -#ifndef ISP2401 -#define SH_CSS_BINARY_ID_IF_TO_DPC 201 -#define SH_CSS_BINARY_ID_IF_TO_BDS 202 -#else -#define SH_CSS_BINARY_ID_IF_TO_BDS 201 -#define SH_CSS_BINARY_ID_IF_TO_BDS_STRIPED 202 -#endif -#define SH_CSS_BINARY_ID_IF_TO_NORM 203 -#ifndef ISP2401 -#define SH_CSS_BINARY_ID_IF_TO_OB 204 -#define SH_CSS_BINARY_ID_IF_TO_LIN 205 -#define SH_CSS_BINARY_ID_IF_TO_SHD 206 -#define SH_CSS_BINARY_ID_IF_TO_BNR 207 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP_NV12_16 208 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP 210 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1 211 -#define SH_CSS_BINARY_ID_IF_TO_DM 214 -#define SH_CSS_BINARY_ID_IF_TO_YUVP2_C0 216 -#define SH_CSS_BINARY_ID_IF_TO_YUVP2_ANR_VIA_ISP 217 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_DVS 218 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_TNR 219 -#define SH_CSS_BINARY_ID_IF_TO_BDS_STRIPED 224 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_ANR_STRIPED 225 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_YUVP2_STRIPED 227 -#define SH_CSS_BINARY_ID_IF_TO_BDS_RGBP_DVS_STAT_C0 228 -#define SH_CSS_BINARY_ID_IF_TO_BDS_RGBP_DVS_STAT_C0_STRIPED 229 -#define SH_CSS_BINARY_ID_IF_TO_REF 236 -#define SH_CSS_BINARY_ID_IF_TO_DVS_STRIPED 237 -#define SH_CSS_BINARY_ID_IF_TO_YUVP2_STRIPED 238 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_STRIPED 239 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP_STRIPED 240 -#define SH_CSS_BINARY_ID_IF_TO_ANR_STRIPED 241 -#define SH_CSS_BINARY_ID_IF_TO_BNR_STRIPED 242 -#define SH_CSS_BINARY_ID_IF_TO_SHD_STRIPED 243 -#define SH_CSS_BINARY_ID_IF_TO_LIN_STRIPED 244 -#define SH_CSS_BINARY_ID_IF_TO_OB_STRIPED 245 -#define SH_CSS_BINARY_ID_IF_TO_NORM_STRIPED 248 -#define SH_CSS_BINARY_ID_COPY_KERNELTEST_OUTPUT_SYSTEM 253 -#define SH_CSS_BINARY_ID_IF_TO_XNR 256 -#define SH_CSS_BINARY_ID_IF_TO_XNR_STRIPED 257 -#define SH_CSS_BINARY_ID_IF_TO_REF_STRIPED 258 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_OSYS 259 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_C0 262 -#define SH_CSS_BINARY_ID_IF_TO_XNR_PRIMARY 263 -#define SH_CSS_BINARY_ID_IF_TO_XNR_PRIMARY_STRIPED 264 -#define SH_CSS_BINARY_ID_IF_TO_ANR 265 -#define SH_CSS_BINARY_ID_VIDEO_TEST_ACC_DVS_STAT_C0 266 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_OSYS_STRIPED 270 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PRIMARY 276 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PRIMARY_STRIPED 277 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_C0_STRIPED 278 -#else -#define SH_CSS_BINARY_ID_IF_TO_NORM_STRIPED 204 -#define SH_CSS_BINARY_ID_IF_TO_OB 205 -#define SH_CSS_BINARY_ID_IF_TO_OB_STRIPED 206 -#define SH_CSS_BINARY_ID_IF_TO_LIN 207 -#define SH_CSS_BINARY_ID_IF_TO_LIN_STRIPED 208 -#define SH_CSS_BINARY_ID_IF_TO_SHD 209 -#define SH_CSS_BINARY_ID_IF_TO_SHD_STRIPED 210 -#define SH_CSS_BINARY_ID_IF_TO_BNR 211 -#define SH_CSS_BINARY_ID_IF_TO_BNR_STRIPED 212 -#define SH_CSS_BINARY_ID_IF_TO_ANR 213 -#define SH_CSS_BINARY_ID_IF_TO_ANR_STRIPED 214 -#define SH_CSS_BINARY_ID_IF_TO_DM 215 -#define SH_CSS_BINARY_ID_IF_TO_BDS_RGBP_DVS_STAT_C0 216 -#define SH_CSS_BINARY_ID_IF_TO_BDS_RGBP_DVS_STAT_C0_STRIPED 217 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP 218 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP_NV12_16 219 -#define SH_CSS_BINARY_ID_IF_TO_RGBPP_STRIPED 220 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1 221 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_STRIPED 222 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_C0 223 -#define SH_CSS_BINARY_ID_IF_TO_YUVP2_C0 224 -#define SH_CSS_BINARY_ID_IF_TO_YUVP2_STRIPED 225 -#define SH_CSS_BINARY_ID_IF_TO_XNR 226 -#define SH_CSS_BINARY_ID_IF_TO_XNR_STRIPED 227 -#define SH_CSS_BINARY_ID_IF_TO_XNR_PRIMARY 228 -#define SH_CSS_BINARY_ID_IF_TO_XNR_PRIMARY_STRIPED 229 -#define SH_CSS_BINARY_ID_IF_TO_REF 230 -#define SH_CSS_BINARY_ID_IF_TO_REF_STRIPED 231 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_DVS 232 -#define SH_CSS_BINARY_ID_IF_TO_DVS_STRIPED 233 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_TNR 234 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_OSYS 235 -#define SH_CSS_BINARY_ID_VIDEO_IF_TO_OSYS_STRIPED 236 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PRIMARY 237 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PRIMARY_STRIPED 238 -#define SH_CSS_BINARY_ID_IF_TO_YUVP1_C0_STRIPED 239 -#define SH_CSS_BINARY_ID_VIDEO_YUVP1_TO_OSYS 240 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PREVIEW 241 -#define SH_CSS_BINARY_ID_IF_TO_OSYS_PREVIEW_STRIPED 242 -#endif - -/* Skycam IR camera binaries */ -#ifndef ISP2401 -#define SH_CSS_BINARY_ID_IR_IF_TO_OSYS_NO_XNR 300 -#define SH_CSS_BINARY_ID_VIDEO_IR_IF_TO_OSYS_NO_DVS_NO_TNR_NO_XNR 301 -#define SH_CSS_BINARY_ID_IR_IF_TO_OSYS_NO_XNR_NO_DVS_PRIMARY 302 -#else -#define SH_CSS_BINARY_ID_IR_IF_TO_OSYS 300 -#define SH_CSS_BINARY_ID_IR_IF_TO_OSYS_NO_TNR3 301 -#define SH_CSS_BINARY_ID_IR_IF_TO_OSYS_PRIMARY 302 - -/* Binaries under development */ -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR3 401 -#define SH_CSS_BINARY_ID_VIDEO_KERNELTEST_TNR3_STRIPED 402 - -#endif - -#define XMEM_WIDTH_BITS HIVE_ISP_DDR_WORD_BITS -#define XMEM_SHORTS_PER_WORD (HIVE_ISP_DDR_WORD_BITS/16) -#define XMEM_INTS_PER_WORD (HIVE_ISP_DDR_WORD_BITS/32) -#define XMEM_POW2_BYTES_PER_WORD HIVE_ISP_DDR_WORD_BYTES - -#define BITS8_ELEMENTS_PER_XMEM_ADDR CEIL_DIV(XMEM_WIDTH_BITS, 8) -#define BITS16_ELEMENTS_PER_XMEM_ADDR CEIL_DIV(XMEM_WIDTH_BITS, 16) - -#if ISP_VEC_NELEMS == 64 -#define ISP_NWAY_LOG2 6 -#elif ISP_VEC_NELEMS == 32 -#define ISP_NWAY_LOG2 5 -#elif ISP_VEC_NELEMS == 16 -#define ISP_NWAY_LOG2 4 -#elif ISP_VEC_NELEMS == 8 -#define ISP_NWAY_LOG2 3 -#else -#error "isp_const.h ISP_VEC_NELEMS must be one of {8, 16, 32, 64}" -#endif - -/* ***************************** - * ISP input/output buffer sizes - * ****************************/ -/* input image */ -#define INPUT_BUF_DMA_HEIGHT 2 -#define INPUT_BUF_HEIGHT 2 /* double buffer */ -#define OUTPUT_BUF_DMA_HEIGHT 2 -#define OUTPUT_BUF_HEIGHT 2 /* double buffer */ -#define OUTPUT_NUM_TRANSFERS 4 - -/* GDC accelerator: Up/Down Scaling */ -/* These should be moved to the gdc_defs.h in the device */ -#define UDS_SCALING_N HRT_GDC_N -/* AB: This should cover the zooming up to 16MP */ -#define UDS_MAX_OXDIM 5000 -/* We support maximally 2 planes with different parameters - - luma and chroma (YUV420) */ -#define UDS_MAX_PLANES 2 -#define UDS_BLI_BLOCK_HEIGHT 2 -#define UDS_BCI_BLOCK_HEIGHT 4 -#define UDS_BLI_INTERP_ENVELOPE 1 -#define UDS_BCI_INTERP_ENVELOPE 3 -#define UDS_MAX_ZOOM_FAC 64 -/* Make it always one FPGA vector. - Four FPGA vectors are required and - four of them fit in one ASIC vector.*/ -#define UDS_MAX_CHUNKS 16 - -#define ISP_LEFT_PADDING _ISP_LEFT_CROP_EXTRA(ISP_LEFT_CROPPING) -#define ISP_LEFT_PADDING_VECS CEIL_DIV(ISP_LEFT_PADDING, ISP_VEC_NELEMS) -/* in case of continuous the croppong of the current binary doesn't matter for the buffer calculation, but the cropping of the sp copy should be used */ -#define ISP_LEFT_PADDING_CONT _ISP_LEFT_CROP_EXTRA(SH_CSS_MAX_LEFT_CROPPING) -#define ISP_LEFT_PADDING_VECS_CONT CEIL_DIV(ISP_LEFT_PADDING_CONT, ISP_VEC_NELEMS) - -#define CEIL_ROUND_DIV_STRIPE(width, stripe, padding) \ - CEIL_MUL(padding + CEIL_DIV(width - padding, stripe), ((ENABLE_RAW_BINNING || ENABLE_FIXED_BAYER_DS)?4:2)) - -/* output (Y,U,V) image, 4:2:0 */ -#define MAX_VECTORS_PER_LINE \ - CEIL_ROUND_DIV_STRIPE(CEIL_DIV(ISP_MAX_INTERNAL_WIDTH, ISP_VEC_NELEMS), \ - ISP_NUM_STRIPES, \ - ISP_LEFT_PADDING_VECS) - -/* - * ITERATOR_VECTOR_INCREMENT' explanation: - * when striping an even number of iterations, one of the stripes is - * one iteration wider than the other to account for overlap - * so the calc for the output buffer vmem size is: - * ((width[vectors]/num_of_stripes) + 2[vectors]) - */ -#define MAX_VECTORS_PER_OUTPUT_LINE \ - CEIL_DIV(CEIL_DIV(ISP_MAX_OUTPUT_WIDTH, ISP_NUM_STRIPES) + ISP_LEFT_PADDING, ISP_VEC_NELEMS) - -/* Must be even due to interlaced bayer input */ -#define MAX_VECTORS_PER_INPUT_LINE CEIL_MUL((CEIL_DIV(ISP_MAX_INPUT_WIDTH, ISP_VEC_NELEMS) + ISP_LEFT_PADDING_VECS), 2) -#define MAX_VECTORS_PER_INPUT_STRIPE CEIL_ROUND_DIV_STRIPE(MAX_VECTORS_PER_INPUT_LINE, \ - ISP_NUM_STRIPES, \ - ISP_LEFT_PADDING_VECS) - - -/* Add 2 for left croppping */ -#define MAX_SP_RAW_COPY_VECTORS_PER_INPUT_LINE (CEIL_DIV(ISP_MAX_INPUT_WIDTH, ISP_VEC_NELEMS) + 2) - -#define MAX_VECTORS_PER_BUF_LINE \ - (MAX_VECTORS_PER_LINE + DUMMY_BUF_VECTORS) -#define MAX_VECTORS_PER_BUF_INPUT_LINE \ - (MAX_VECTORS_PER_INPUT_STRIPE + DUMMY_BUF_VECTORS) -#define MAX_OUTPUT_Y_FRAME_WIDTH \ - (MAX_VECTORS_PER_LINE * ISP_VEC_NELEMS) -#define MAX_OUTPUT_Y_FRAME_SIMDWIDTH \ - MAX_VECTORS_PER_LINE -#define MAX_OUTPUT_C_FRAME_WIDTH \ - (MAX_OUTPUT_Y_FRAME_WIDTH / 2) -#define MAX_OUTPUT_C_FRAME_SIMDWIDTH \ - CEIL_DIV(MAX_OUTPUT_C_FRAME_WIDTH, ISP_VEC_NELEMS) - -/* should be even */ -#define NO_CHUNKING (OUTPUT_NUM_CHUNKS == 1) - -#define MAX_VECTORS_PER_CHUNK \ - (NO_CHUNKING ? MAX_VECTORS_PER_LINE \ - : 2*CEIL_DIV(MAX_VECTORS_PER_LINE, \ - 2*OUTPUT_NUM_CHUNKS)) - -#define MAX_C_VECTORS_PER_CHUNK \ - (MAX_VECTORS_PER_CHUNK/2) - -/* should be even */ -#define MAX_VECTORS_PER_OUTPUT_CHUNK \ - (NO_CHUNKING ? MAX_VECTORS_PER_OUTPUT_LINE \ - : 2*CEIL_DIV(MAX_VECTORS_PER_OUTPUT_LINE, \ - 2*OUTPUT_NUM_CHUNKS)) - -#define MAX_C_VECTORS_PER_OUTPUT_CHUNK \ - (MAX_VECTORS_PER_OUTPUT_CHUNK/2) - - - -/* should be even */ -#define MAX_VECTORS_PER_INPUT_CHUNK \ - (INPUT_NUM_CHUNKS == 1 ? MAX_VECTORS_PER_INPUT_STRIPE \ - : 2*CEIL_DIV(MAX_VECTORS_PER_INPUT_STRIPE, \ - 2*OUTPUT_NUM_CHUNKS)) - -#define DEFAULT_C_SUBSAMPLING 2 - -/****** DMA buffer properties */ - -#define RAW_BUF_LINES ((ENABLE_RAW_BINNING || ENABLE_FIXED_BAYER_DS) ? 4 : 2) - -#define RAW_BUF_STRIDE \ - (BINARY_ID == SH_CSS_BINARY_ID_POST_ISP ? MAX_VECTORS_PER_INPUT_CHUNK : \ - ISP_NUM_STRIPES > 1 ? MAX_VECTORS_PER_INPUT_STRIPE+_ISP_EXTRA_PADDING_VECS : \ - !ENABLE_CONTINUOUS ? MAX_VECTORS_PER_INPUT_LINE : \ - MAX_VECTORS_PER_INPUT_CHUNK) - -/* [isp vmem] table size[vectors] per line per color (GR,R,B,GB), - multiples of NWAY */ -#define SCTBL_VECTORS_PER_LINE_PER_COLOR \ - CEIL_DIV(SH_CSS_MAX_SCTBL_WIDTH_PER_COLOR, ISP_VEC_NELEMS) -/* [isp vmem] table size[vectors] per line for 4colors (GR,R,B,GB), - multiples of NWAY */ -#define SCTBL_VECTORS_PER_LINE \ - (SCTBL_VECTORS_PER_LINE_PER_COLOR * IA_CSS_SC_NUM_COLORS) - -/*************/ - -/* Format for fixed primaries */ - -#define ISP_FIXED_PRIMARY_FORMAT IA_CSS_FRAME_FORMAT_NV12 - -#endif /* _COMMON_ISP_CONST_H_ */ diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_types.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_types.h deleted file mode 100644 index 37a7d28f6d9f..000000000000 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/modes/interface/isp_types.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef ISP2401 -/* - * 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. - */ -#else -/** -Support for Intel Camera Imaging ISP subsystem. -Copyright (c) 2010 - 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. -*/ -#endif - -#ifndef _ISP_TYPES_H_ -#define _ISP_TYPES_H_ - -/* Workaround: hivecc complains about "tag "sh_css_3a_output" already declared" - without this extra decl. */ -struct ia_css_3a_output; - -#if defined(__ISP) -struct isp_uds_config { - int hive_dx; - int hive_dy; - unsigned hive_woix; - unsigned hive_bpp; /* gdc_bits_per_pixel */ - unsigned hive_bci; -}; - -struct s_isp_gdcac_config { - unsigned nbx; - unsigned nby; -}; - -/* output.hive.c request information */ -typedef enum { - output_y_channel, - output_c_channel, - OUTPUT_NUM_CHANNELS -} output_channel_type; - -typedef struct s_output_dma_info { - unsigned cond; /* Condition for transfer */ - output_channel_type channel_type; - dma_channel channel; - unsigned width_a; - unsigned width_b; - unsigned stride; - unsigned v_delta; /* Offset for v address to do cropping */ - char *x_base; /* X base address */ -} output_dma_info_type; -#endif - -/* Input stream formats, these correspond to the MIPI formats and the way - * the CSS receiver sends these to the input formatter. - * The bit depth of each pixel element is stored in the global variable - * isp_bits_per_pixel. - * NOTE: for rgb565, we set isp_bits_per_pixel to 565, for all other rgb - * formats it's the actual depth (4, for 444, 8 for 888 etc). - */ -enum sh_stream_format { - sh_stream_format_yuv420_legacy, - sh_stream_format_yuv420, - sh_stream_format_yuv422, - sh_stream_format_rgb, - sh_stream_format_raw, - sh_stream_format_binary, /* bytestream such as jpeg */ -}; - -struct s_isp_frames { - /* global variables that are written to by either the SP or the host, - every ISP binary needs these. */ - /* output frame */ - char *xmem_base_addr_y; - char *xmem_base_addr_uv; - char *xmem_base_addr_u; - char *xmem_base_addr_v; - /* 2nd output frame */ - char *xmem_base_addr_second_out_y; - char *xmem_base_addr_second_out_u; - char *xmem_base_addr_second_out_v; - /* input yuv frame */ - char *xmem_base_addr_y_in; - char *xmem_base_addr_u_in; - char *xmem_base_addr_v_in; - /* input raw frame */ - char *xmem_base_addr_raw; - /* output raw frame */ - char *xmem_base_addr_raw_out; - /* viewfinder output (vf_veceven) */ - char *xmem_base_addr_vfout_y; - char *xmem_base_addr_vfout_u; - char *xmem_base_addr_vfout_v; - /* overlay frame (for vf_pp) */ - char *xmem_base_addr_overlay_y; - char *xmem_base_addr_overlay_u; - char *xmem_base_addr_overlay_v; - /* pre-gdc output frame (gdc input) */ - char *xmem_base_addr_qplane_r; - char *xmem_base_addr_qplane_ratb; - char *xmem_base_addr_qplane_gr; - char *xmem_base_addr_qplane_gb; - char *xmem_base_addr_qplane_b; - char *xmem_base_addr_qplane_batr; - /* YUV as input, used by postisp binary */ - char *xmem_base_addr_yuv_16_y; - char *xmem_base_addr_yuv_16_u; - char *xmem_base_addr_yuv_16_v; -}; - -#endif /* _ISP_TYPES_H_ */ |