hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/media/platform/rockchip/isp/isp_params_v32.h
....@@ -29,169 +29,171 @@
2929 struct rkisp_isp_params_vdev;
3030 struct rkisp_isp_params_ops_v32 {
3131 void (*dpcc_config)(struct rkisp_isp_params_vdev *params_vdev,
32
- const struct isp2x_dpcc_cfg *arg);
32
+ const struct isp2x_dpcc_cfg *arg, u32 id);
3333 void (*dpcc_enable)(struct rkisp_isp_params_vdev *params_vdev,
34
- bool en);
34
+ bool en, u32 id);
3535 void (*bls_config)(struct rkisp_isp_params_vdev *params_vdev,
36
- const struct isp32_bls_cfg *arg);
36
+ const struct isp32_bls_cfg *arg, u32 id);
3737 void (*bls_enable)(struct rkisp_isp_params_vdev *params_vdev,
38
- bool en);
38
+ bool en, u32 id);
3939 void (*sdg_config)(struct rkisp_isp_params_vdev *params_vdev,
40
- const struct isp2x_sdg_cfg *arg);
40
+ const struct isp2x_sdg_cfg *arg, u32 id);
4141 void (*sdg_enable)(struct rkisp_isp_params_vdev *params_vdev,
42
- bool en);
42
+ bool en, u32 id);
4343 void (*lsc_config)(struct rkisp_isp_params_vdev *params_vdev,
44
- const struct isp3x_lsc_cfg *arg);
44
+ const struct isp3x_lsc_cfg *arg, u32 id);
4545 void (*lsc_enable)(struct rkisp_isp_params_vdev *params_vdev,
46
- bool en);
46
+ bool en, u32 id);
4747 void (*awbgain_config)(struct rkisp_isp_params_vdev *params_vdev,
48
- const struct isp32_awb_gain_cfg *arg);
48
+ const struct isp32_awb_gain_cfg *arg, u32 id);
4949 void (*awbgain_enable)(struct rkisp_isp_params_vdev *params_vdev,
50
- bool en);
50
+ bool en, u32 id);
5151 void (*debayer_config)(struct rkisp_isp_params_vdev *params_vdev,
52
- const struct isp32_debayer_cfg *arg);
52
+ const struct isp32_debayer_cfg *arg, u32 id);
5353 void (*debayer_enable)(struct rkisp_isp_params_vdev *params_vdev,
54
- bool en);
54
+ bool en, u32 id);
5555 void (*ccm_config)(struct rkisp_isp_params_vdev *params_vdev,
56
- const struct isp32_ccm_cfg *arg);
56
+ const struct isp32_ccm_cfg *arg, u32 id);
5757 void (*ccm_enable)(struct rkisp_isp_params_vdev *params_vdev,
58
- bool en);
58
+ bool en, u32 id);
5959 void (*goc_config)(struct rkisp_isp_params_vdev *params_vdev,
60
- const struct isp3x_gammaout_cfg *arg);
60
+ const struct isp3x_gammaout_cfg *arg, u32 id);
6161 void (*goc_enable)(struct rkisp_isp_params_vdev *params_vdev,
62
- bool en);
62
+ bool en, u32 id);
6363 void (*cproc_config)(struct rkisp_isp_params_vdev *params_vdev,
64
- const struct isp2x_cproc_cfg *arg);
64
+ const struct isp2x_cproc_cfg *arg, u32 id);
6565 void (*cproc_enable)(struct rkisp_isp_params_vdev *params_vdev,
66
- bool en);
66
+ bool en, u32 id);
6767 void (*ie_config)(struct rkisp_isp_params_vdev *params_vdev,
68
- const struct isp2x_ie_cfg *arg);
68
+ const struct isp2x_ie_cfg *arg, u32 id);
6969 void (*ie_enable)(struct rkisp_isp_params_vdev *params_vdev,
70
- bool en);
70
+ bool en, u32 id);
7171 void (*rawaf_config)(struct rkisp_isp_params_vdev *params_vdev,
72
- const struct isp32_rawaf_meas_cfg *arg);
72
+ const struct isp32_rawaf_meas_cfg *arg, u32 id);
7373 void (*rawaf_enable)(struct rkisp_isp_params_vdev *params_vdev,
74
- bool en);
74
+ bool en, u32 id);
7575 void (*rawae0_config)(struct rkisp_isp_params_vdev *params_vdev,
76
- const struct isp2x_rawaelite_meas_cfg *arg);
76
+ const struct isp2x_rawaelite_meas_cfg *arg, u32 id);
7777 void (*rawae0_enable)(struct rkisp_isp_params_vdev *params_vdev,
78
- bool en);
78
+ bool en, u32 id);
7979 void (*rawae1_config)(struct rkisp_isp_params_vdev *params_vdev,
80
- const struct isp2x_rawaebig_meas_cfg *arg);
80
+ const struct isp2x_rawaebig_meas_cfg *arg, u32 id);
8181 void (*rawae1_enable)(struct rkisp_isp_params_vdev *params_vdev,
82
- bool en);
82
+ bool en, u32 id);
8383 void (*rawae2_config)(struct rkisp_isp_params_vdev *params_vdev,
84
- const struct isp2x_rawaebig_meas_cfg *arg);
84
+ const struct isp2x_rawaebig_meas_cfg *arg, u32 id);
8585 void (*rawae2_enable)(struct rkisp_isp_params_vdev *params_vdev,
86
- bool en);
86
+ bool en, u32 id);
8787 void (*rawae3_config)(struct rkisp_isp_params_vdev *params_vdev,
88
- const struct isp2x_rawaebig_meas_cfg *arg);
88
+ const struct isp2x_rawaebig_meas_cfg *arg, u32 id);
8989 void (*rawae3_enable)(struct rkisp_isp_params_vdev *params_vdev,
90
- bool en);
90
+ bool en, u32 id);
9191 void (*rawawb_config)(struct rkisp_isp_params_vdev *params_vdev,
92
- const struct isp32_rawawb_meas_cfg *arg);
92
+ const struct isp32_rawawb_meas_cfg *arg, u32 id);
9393 void (*rawawb_enable)(struct rkisp_isp_params_vdev *params_vdev,
94
- bool en);
94
+ bool en, u32 id);
9595 void (*rawhst0_config)(struct rkisp_isp_params_vdev *params_vdev,
96
- const struct isp2x_rawhistlite_cfg *arg);
96
+ const struct isp2x_rawhistlite_cfg *arg, u32 id);
9797 void (*rawhst0_enable)(struct rkisp_isp_params_vdev *params_vdev,
98
- bool en);
98
+ bool en, u32 id);
9999 void (*rawhst1_config)(struct rkisp_isp_params_vdev *params_vdev,
100
- const struct isp2x_rawhistbig_cfg *arg);
100
+ const struct isp2x_rawhistbig_cfg *arg, u32 id);
101101 void (*rawhst1_enable)(struct rkisp_isp_params_vdev *params_vdev,
102
- bool en);
102
+ bool en, u32 id);
103103 void (*rawhst2_config)(struct rkisp_isp_params_vdev *params_vdev,
104
- const struct isp2x_rawhistbig_cfg *arg);
104
+ const struct isp2x_rawhistbig_cfg *arg, u32 id);
105105 void (*rawhst2_enable)(struct rkisp_isp_params_vdev *params_vdev,
106
- bool en);
106
+ bool en, u32 id);
107107 void (*rawhst3_config)(struct rkisp_isp_params_vdev *params_vdev,
108
- const struct isp2x_rawhistbig_cfg *arg);
108
+ const struct isp2x_rawhistbig_cfg *arg, u32 id);
109109 void (*rawhst3_enable)(struct rkisp_isp_params_vdev *params_vdev,
110
- bool en);
110
+ bool en, u32 id);
111111 void (*hdrdrc_config)(struct rkisp_isp_params_vdev *params_vdev,
112112 const struct isp32_drc_cfg *arg,
113
- enum rkisp_params_type type);
113
+ enum rkisp_params_type type, u32 id);
114114 void (*hdrdrc_enable)(struct rkisp_isp_params_vdev *params_vdev,
115
- bool en);
115
+ bool en, u32 id);
116116 void (*hdrmge_config)(struct rkisp_isp_params_vdev *params_vdev,
117117 const struct isp32_hdrmge_cfg *arg,
118
- enum rkisp_params_type type);
118
+ enum rkisp_params_type type, u32 id);
119119 void (*hdrmge_enable)(struct rkisp_isp_params_vdev *params_vdev,
120
- bool en);
120
+ bool en, u32 id);
121121 void (*gic_config)(struct rkisp_isp_params_vdev *params_vdev,
122
- const struct isp21_gic_cfg *arg);
122
+ const struct isp21_gic_cfg *arg, u32 id);
123123 void (*gic_enable)(struct rkisp_isp_params_vdev *params_vdev,
124
- bool en);
124
+ bool en, u32 id);
125125 void (*dhaz_config)(struct rkisp_isp_params_vdev *params_vdev,
126
- const struct isp32_dhaz_cfg *arg);
126
+ const struct isp32_dhaz_cfg *arg, u32 id);
127127 void (*dhaz_enable)(struct rkisp_isp_params_vdev *params_vdev,
128
- bool en);
128
+ bool en, u32 id);
129129 void (*isp3dlut_config)(struct rkisp_isp_params_vdev *params_vdev,
130
- const struct isp2x_3dlut_cfg *arg);
130
+ const struct isp2x_3dlut_cfg *arg, u32 id);
131131 void (*isp3dlut_enable)(struct rkisp_isp_params_vdev *params_vdev,
132
- bool en);
132
+ bool en, u32 id);
133133 void (*ldch_config)(struct rkisp_isp_params_vdev *params_vdev,
134
- const struct isp32_ldch_cfg *arg);
134
+ const struct isp32_ldch_cfg *arg, u32 id);
135135 void (*ldch_enable)(struct rkisp_isp_params_vdev *params_vdev,
136
- bool en);
136
+ bool en, u32 id);
137137 void (*ynr_config)(struct rkisp_isp_params_vdev *params_vdev,
138
- const struct isp32_ynr_cfg *arg);
138
+ const struct isp32_ynr_cfg *arg, u32 id);
139139 void (*ynr_enable)(struct rkisp_isp_params_vdev *params_vdev,
140
- bool en);
140
+ bool en, u32 id);
141141 void (*cnr_config)(struct rkisp_isp_params_vdev *params_vdev,
142
- const struct isp32_cnr_cfg *arg);
142
+ const struct isp32_cnr_cfg *arg, u32 id);
143143 void (*cnr_enable)(struct rkisp_isp_params_vdev *params_vdev,
144
- bool en);
144
+ bool en, u32 id);
145145 void (*sharp_config)(struct rkisp_isp_params_vdev *params_vdev,
146
- const struct isp32_sharp_cfg *arg);
146
+ const struct isp32_sharp_cfg *arg, u32 id);
147147 void (*sharp_enable)(struct rkisp_isp_params_vdev *params_vdev,
148
- bool en);
148
+ bool en, u32 id);
149149 void (*baynr_config)(struct rkisp_isp_params_vdev *params_vdev,
150
- const struct isp32_baynr_cfg *arg);
150
+ const struct isp32_baynr_cfg *arg, u32 id);
151151 void (*baynr_enable)(struct rkisp_isp_params_vdev *params_vdev,
152
- bool en);
152
+ bool en, u32 id);
153153 void (*bay3d_config)(struct rkisp_isp_params_vdev *params_vdev,
154
- const struct isp32_bay3d_cfg *arg);
154
+ const struct isp32_bay3d_cfg *arg, u32 id);
155155 void (*bay3d_enable)(struct rkisp_isp_params_vdev *params_vdev,
156
- bool en);
156
+ bool en, u32 id);
157157 void (*gain_config)(struct rkisp_isp_params_vdev *params_vdev,
158
- const struct isp3x_gain_cfg *arg);
158
+ const struct isp3x_gain_cfg *arg, u32 id);
159159 void (*gain_enable)(struct rkisp_isp_params_vdev *params_vdev,
160
- bool en);
160
+ bool en, u32 id);
161161 void (*cac_config)(struct rkisp_isp_params_vdev *params_vdev,
162
- const struct isp32_cac_cfg *arg);
162
+ const struct isp32_cac_cfg *arg, u32 id);
163163 void (*cac_enable)(struct rkisp_isp_params_vdev *params_vdev,
164
- bool en);
164
+ bool en, u32 id);
165165 void (*csm_config)(struct rkisp_isp_params_vdev *params_vdev,
166
- const struct isp21_csm_cfg *arg);
166
+ const struct isp21_csm_cfg *arg, u32 id);
167167 void (*cgc_config)(struct rkisp_isp_params_vdev *params_vdev,
168
- const struct isp21_cgc_cfg *arg);
168
+ const struct isp21_cgc_cfg *arg, u32 id);
169169 void (*vsm_config)(struct rkisp_isp_params_vdev *params_vdev,
170
- const struct isp32_vsm_cfg *arg);
170
+ const struct isp32_vsm_cfg *arg, u32 id);
171171 void (*vsm_enable)(struct rkisp_isp_params_vdev *params_vdev,
172
- bool en);
172
+ bool en, u32 id);
173173 };
174174
175175 struct rkisp_isp_params_val_v32 {
176176 struct tasklet_struct lsc_tasklet;
177177
178
- struct rkisp_dummy_buffer buf_3dlut[ISP32_3DLUT_BUF_NUM];
179
- u32 buf_3dlut_idx;
178
+ struct rkisp_dummy_buffer buf_3dlut[ISP3_UNITE_MAX][ISP32_3DLUT_BUF_NUM];
179
+ u32 buf_3dlut_idx[ISP3_UNITE_MAX];
180
+
181
+ struct rkisp_dummy_buffer buf_ldch[ISP3_UNITE_MAX][ISP3X_MESH_BUF_NUM];
182
+ u32 buf_ldch_idx[ISP3_UNITE_MAX];
183
+
184
+ struct rkisp_dummy_buffer buf_cac[ISP3_UNITE_MAX][ISP3X_MESH_BUF_NUM];
185
+ u32 buf_cac_idx[ISP3_UNITE_MAX];
180186
181187 struct rkisp_dummy_buffer buf_lsclut[ISP32_LSC_LUT_BUF_NUM];
182188 u32 buf_lsclut_idx;
183
-
184
- struct rkisp_dummy_buffer buf_ldch[ISP3X_MESH_BUF_NUM];
185
- u32 buf_ldch_idx;
186
-
187
- struct rkisp_dummy_buffer buf_cac[ISP3X_MESH_BUF_NUM];
188
- u32 buf_cac_idx;
189189
190190 struct rkisp_dummy_buffer buf_info[RKISP_INFO2DDR_BUF_MAX];
191191 u32 buf_info_owner;
192192 u32 buf_info_cnt;
193193 int buf_info_idx;
194194
195
+ u32 bay3d_ds_size;
196
+ u32 bay3d_iir_size;
195197 u32 bay3d_cur_size;
196198 u32 bay3d_cur_wsize;
197199 u32 bay3d_cur_wrap_line;
....@@ -200,11 +202,6 @@
200202 struct rkisp_dummy_buffer buf_3dnr_ds;
201203
202204 struct rkisp_dummy_buffer buf_frm;
203
-
204
- struct isp32_hdrmge_cfg last_hdrmge;
205
- struct isp32_drc_cfg last_hdrdrc;
206
- struct isp32_hdrmge_cfg cur_hdrmge;
207
- struct isp32_drc_cfg cur_hdrdrc;
208205
209206 bool dhaz_en;
210207 bool drc_en;