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 42struct 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