1 /* SPDX-License-Identifier: GPL-2.0 */ 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 16 #ifndef __IA_CSS_DPC2_PARAM_H 17 #define __IA_CSS_DPC2_PARAM_H 18 19 #include "type_support.h" 20 #include "vmem.h" /* for VMEM_ARRAY*/ 21 22 /* 4 planes : GR, R, B, GB */ 23 #define NUM_PLANES 4 24 25 /* ToDo: Move this to testsetup */ 26 #define MAX_FRAME_SIMDWIDTH 30 27 28 /* 3 lines state per color plane input_line_state */ 29 #define DPC2_STATE_INPUT_BUFFER_HEIGHT (3 * NUM_PLANES) 30 /* Each plane has width equal to half frame line */ 31 #define DPC2_STATE_INPUT_BUFFER_WIDTH CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2) 32 33 /* 1 line state per color plane for local deviation state*/ 34 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_HEIGHT (1 * NUM_PLANES) 35 /* Each plane has width equal to half frame line */ 36 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_WIDTH CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2) 37 38 /* MINMAX state buffer stores 1 full input line (GR-R color line) */ 39 #define DPC2_STATE_SECOND_MINMAX_BUFFER_HEIGHT 1 40 #define DPC2_STATE_SECOND_MINMAX_BUFFER_WIDTH MAX_FRAME_SIMDWIDTH 41 42 struct ia_css_isp_dpc2_params { 43 s32 metric1; 44 s32 metric2; 45 s32 metric3; 46 s32 wb_gain_gr; 47 s32 wb_gain_r; 48 s32 wb_gain_b; 49 s32 wb_gain_gb; 50 }; 51 52 #endif /* __IA_CSS_DPC2_PARAM_H */ 53