hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/media/platform/rockchip/isp/isp_params_v3x.c
....@@ -591,7 +591,7 @@
591591 struct isp3x_isp_params_cfg *params = params_vdev->isp3x_params;
592592
593593 isp_lsc_matrix_cfg_sram(params_vdev, &params->others.lsc_cfg, true, 0);
594
- if (params_vdev->dev->hw_dev->is_unite) {
594
+ if (params_vdev->dev->hw_dev->unite) {
595595 params++;
596596 isp_lsc_matrix_cfg_sram(params_vdev, &params->others.lsc_cfg, true, 1);
597597 }
....@@ -1223,7 +1223,7 @@
12231223
12241224 block_hsize = arg->win.h_size / ae_wnd_num[wnd_num_idx];
12251225 value = block_hsize * ae_wnd_num[wnd_num_idx] + arg->win.h_offs;
1226
- if (ispdev->hw_dev->is_unite)
1226
+ if (ispdev->hw_dev->unite)
12271227 width = width / 2 + RKMOUDLE_UNITE_EXTEND_PIXEL;
12281228 if (value + 1 > width)
12291229 block_hsize -= 1;
....@@ -1310,7 +1310,7 @@
13101310
13111311 block_hsize = arg->win.h_size / ae_wnd_num[wnd_num_idx];
13121312 value = block_hsize * ae_wnd_num[wnd_num_idx] + arg->win.h_offs;
1313
- if (ispdev->hw_dev->is_unite)
1313
+ if (ispdev->hw_dev->unite)
13141314 width = width / 2 + RKMOUDLE_UNITE_EXTEND_PIXEL;
13151315 if (value + 1 > width)
13161316 block_hsize -= 1;
....@@ -2887,7 +2887,7 @@
28872887 value = ISP_PACK_2SHORT(arg->sigma_lut[i * 2], 0);
28882888 isp3_param_write(params_vdev, value, ISP3X_DHAZ_GAIN_LUT0 + i * 4, id);
28892889
2890
- if (dev->hw_dev->is_unite &&
2890
+ if (dev->hw_dev->unite &&
28912891 dev->hw_dev->is_single &&
28922892 ctrl & ISP3X_DHAZ_ENMUX)
28932893 ctrl |= ISP3X_SELF_FORCE_UPD;
....@@ -4095,22 +4095,6 @@
40954095 ops->rawawb_enable(params_vdev, !!(module_ens & ISP3X_MODULE_RAWAWB), id);
40964096 }
40974097
4098
-static __maybe_unused
4099
-void __isp_config_hdrshd(struct rkisp_isp_params_vdev *params_vdev)
4100
-{
4101
- struct rkisp_isp_params_ops_v3x *ops =
4102
- (struct rkisp_isp_params_ops_v3x *)params_vdev->priv_ops;
4103
- struct rkisp_isp_params_val_v3x *priv_val =
4104
- (struct rkisp_isp_params_val_v3x *)params_vdev->priv_val;
4105
-
4106
- if (params_vdev->dev->hw_dev->is_unite) {
4107
- ops->hdrmge_config(params_vdev, &priv_val->last_hdrmge, RKISP_PARAMS_SHD, 1);
4108
- ops->hdrdrc_config(params_vdev, &priv_val->last_hdrdrc, RKISP_PARAMS_SHD, 1);
4109
- }
4110
- ops->hdrmge_config(params_vdev, &priv_val->last_hdrmge, RKISP_PARAMS_SHD, 0);
4111
- ops->hdrdrc_config(params_vdev, &priv_val->last_hdrdrc, RKISP_PARAMS_SHD, 0);
4112
-}
4113
-
41144098 static
41154099 void rkisp_params_cfgsram_v3x(struct rkisp_isp_params_vdev *params_vdev)
41164100 {
....@@ -4121,7 +4105,7 @@
41214105 isp_rawhstbig_cfg_sram(params_vdev, &params->meas.rawhist2, 2, true, 0);
41224106 isp_rawhstbig_cfg_sram(params_vdev, &params->meas.rawhist3, 0, true, 0);
41234107 isp_rawawb_cfg_sram(params_vdev, &params->meas.rawawb, true, 0);
4124
- if (params_vdev->dev->hw_dev->is_unite) {
4108
+ if (params_vdev->dev->hw_dev->unite) {
41254109 params++;
41264110 isp_lsc_matrix_cfg_sram(params_vdev, &params->others.lsc_cfg, true, 1);
41274111 isp_rawhstbig_cfg_sram(params_vdev, &params->meas.rawhist1, 1, true, 1);
....@@ -4145,7 +4129,7 @@
41454129 module_en_update = new_params->module_en_update;
41464130 module_ens = new_params->module_ens;
41474131
4148
- for (id = 0; id <= ispdev->hw_dev->is_unite; id++) {
4132
+ for (id = 0; id <= !!ispdev->hw_dev->unite; id++) {
41494133 priv_val->buf_3dlut_idx[id] = 0;
41504134 for (i = 0; i < ISP3X_3DLUT_BUF_NUM; i++) {
41514135 priv_val->buf_3dlut[id][i].is_need_vaddr = true;
....@@ -4162,10 +4146,10 @@
41624146 (module_ens & ISP3X_MODULE_BAY3D)) {
41634147 w = ALIGN(isp_sdev->in_crop.width, 16);
41644148 h = ALIGN(isp_sdev->in_crop.height, 16);
4165
- if (ispdev->hw_dev->is_unite)
4149
+ if (ispdev->hw_dev->unite)
41664150 w = ALIGN(isp_sdev->in_crop.width / 2 + RKMOUDLE_UNITE_EXTEND_PIXEL, 16);
41674151
4168
- for (id = 0; id <= ispdev->hw_dev->is_unite; id++) {
4152
+ for (id = 0; id <= !!ispdev->hw_dev->unite; id++) {
41694153 size = ALIGN((w + w / 8) * h * 2, 16);
41704154
41714155 priv_val->buf_3dnr_iir[id].size = size;
....@@ -4201,7 +4185,7 @@
42014185 rkisp_free_buffer(ispdev, &priv_val->buf_3dnr_cur[id]);
42024186 rkisp_free_buffer(ispdev, &priv_val->buf_3dnr_ds[id]);
42034187 }
4204
- id = ispdev->hw_dev->is_unite ? 1 : 0;
4188
+ id = ispdev->hw_dev->unite ? 1 : 0;
42054189 i = ISP3X_3DLUT_BUF_NUM;
42064190 err_3dlut:
42074191 for (; id >= 0; id--) {
....@@ -4256,7 +4240,7 @@
42564240 continue;
42574241 dev_warn(dev, "isp%d %dx%d over four vir isp max:%dx1536\n",
42584242 i, hw->isp_size[i].w, hw->isp_size[i].h,
4259
- hw->is_unite ? (2560 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 2560);
4243
+ hw->unite ? (2560 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 2560);
42604244 hw->is_multi_overflow = true;
42614245 goto multi_overflow;
42624246 }
....@@ -4298,7 +4282,7 @@
42984282 (hw->isp_size[idx1[0]].size > ISP3X_VIR2_MAX_SIZE)) {
42994283 dev_warn(dev, "isp%d %dx%d over three vir isp max:%dx1536\n",
43004284 idx1[0], hw->isp_size[idx1[0]].w, hw->isp_size[idx1[0]].h,
4301
- hw->is_unite ? (2560 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 2560);
4285
+ hw->unite ? (2560 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 2560);
43024286 hw->is_multi_overflow = true;
43034287 goto multi_overflow;
43044288 } else {
....@@ -4357,7 +4341,7 @@
43574341 hw->isp_size[idx1[k - 1]].size > (ISP3X_VIR4_MAX_SIZE + ISP3X_VIR2_MAX_SIZE)) {
43584342 dev_warn(dev, "isp%d %dx%d over two vir isp max:%dx2160\n",
43594343 idx1[k - 1], hw->isp_size[idx1[k - 1]].w, hw->isp_size[idx1[k - 1]].h,
4360
- hw->is_unite ? (3840 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 3840);
4344
+ hw->unite ? (3840 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 3840);
43614345 hw->is_multi_overflow = true;
43624346 goto multi_overflow;
43634347 } else {
....@@ -4379,7 +4363,7 @@
43794363 ispdev->multi_mode = 0;
43804364 ispdev->multi_index = 0;
43814365 width = crop->width;
4382
- if (hw->is_unite)
4366
+ if (hw->unite)
43834367 width = width / 2 + RKMOUDLE_UNITE_EXTEND_PIXEL;
43844368 height = crop->height;
43854369 size = width * height;
....@@ -4416,7 +4400,7 @@
44164400 priv_val->lsc_en = 0;
44174401 priv_val->mge_en = 0;
44184402 priv_val->lut3d_en = 0;
4419
- if (hw->is_unite) {
4403
+ if (hw->unite) {
44204404 if (dev->is_bigmode)
44214405 rkisp_next_set_bits(params_vdev->dev, ISP3X_ISP_CTRL1, 0,
44224406 ISP3X_BIGMODE_MANUAL | ISP3X_BIGMODE_FORCE_EN, false);
....@@ -4432,11 +4416,6 @@
44324416 __isp_isr_other_config(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 0);
44334417 __isp_isr_other_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 0);
44344418 __isp_isr_meas_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 0);
4435
-
4436
- priv_val->cur_hdrmge = params_vdev->isp3x_params->others.hdrmge_cfg;
4437
- priv_val->cur_hdrdrc = params_vdev->isp3x_params->others.drc_cfg;
4438
- priv_val->last_hdrmge = priv_val->cur_hdrmge;
4439
- priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
44404419 spin_unlock(&params_vdev->config_lock);
44414420 }
44424421
....@@ -4452,7 +4431,7 @@
44524431
44534432 static void rkisp_clear_first_param_v3x(struct rkisp_isp_params_vdev *params_vdev)
44544433 {
4455
- u32 mult = params_vdev->dev->hw_dev->is_unite ? ISP3_UNITE_MAX : 1;
4434
+ u32 mult = params_vdev->dev->hw_dev->unite ? ISP3_UNITE_MAX : 1;
44564435 u32 size = sizeof(struct isp3x_isp_params_cfg) * mult;
44574436
44584437 memset(params_vdev->isp3x_params, 0, size);
....@@ -4551,7 +4530,7 @@
45514530 rkisp_get_param_size_v3x(struct rkisp_isp_params_vdev *params_vdev,
45524531 unsigned int sizes[])
45534532 {
4554
- u32 mult = params_vdev->dev->hw_dev->is_unite ? ISP3_UNITE_MAX : 1;
4533
+ u32 mult = params_vdev->dev->hw_dev->unite ? ISP3_UNITE_MAX : 1;
45554534
45564535 sizes[0] = sizeof(struct isp3x_isp_params_cfg) * mult;
45574536 }
....@@ -4596,7 +4575,7 @@
45964575 {
45974576 struct rkisp_meshbuf_size *meshsize = size;
45984577
4599
- if (!params_vdev->dev->hw_dev->is_unite)
4578
+ if (!params_vdev->dev->hw_dev->unite)
46004579 meshsize->unite_isp_id = 0;
46014580 rkisp_deinit_mesh_buf(params_vdev, meshsize->module_id, meshsize->unite_isp_id);
46024581 return rkisp_init_mesh_buf(params_vdev, meshsize);
....@@ -4608,7 +4587,7 @@
46084587 {
46094588 int id;
46104589
4611
- for (id = 0; id <= params_vdev->dev->hw_dev->is_unite; id++)
4590
+ for (id = 0; id <= !!params_vdev->dev->hw_dev->unite; id++)
46124591 rkisp_deinit_mesh_buf(params_vdev, module_id, id);
46134592 }
46144593
....@@ -4621,7 +4600,7 @@
46214600
46224601 priv_val = (struct rkisp_isp_params_val_v3x *)params_vdev->priv_val;
46234602 tasklet_disable(&priv_val->lsc_tasklet);
4624
- for (id = 0; id <= ispdev->hw_dev->is_unite; id++) {
4603
+ for (id = 0; id <= !!ispdev->hw_dev->unite; id++) {
46254604 rkisp_free_buffer(ispdev, &priv_val->buf_3dnr_iir[id]);
46264605 rkisp_free_buffer(ispdev, &priv_val->buf_3dnr_cur[id]);
46274606 rkisp_free_buffer(ispdev, &priv_val->buf_3dnr_ds[id]);
....@@ -4637,7 +4616,7 @@
46374616 {
46384617 int id;
46394618
4640
- for (id = 0; id <= params_vdev->dev->hw_dev->is_unite; id++) {
4619
+ for (id = 0; id <= !!params_vdev->dev->hw_dev->unite; id++) {
46414620 rkisp_deinit_mesh_buf(params_vdev, ISP3X_MODULE_LDCH, id);
46424621 rkisp_deinit_mesh_buf(params_vdev, ISP3X_MODULE_CAC, id);
46434622 }
....@@ -4652,7 +4631,7 @@
46524631
46534632 __isp_isr_other_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 0);
46544633 __isp_isr_meas_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 0);
4655
- if (params_vdev->dev->hw_dev->is_unite) {
4634
+ if (params_vdev->dev->hw_dev->unite) {
46564635 __isp_isr_other_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 1);
46574636 __isp_isr_meas_en(params_vdev, params_vdev->isp3x_params, RKISP_PARAMS_ALL, 1);
46584637 }
....@@ -4725,7 +4704,7 @@
47254704 __isp_isr_other_en(params_vdev, new_params, type, 0);
47264705 __isp_isr_meas_en(params_vdev, new_params, type, 0);
47274706 new_params->module_cfg_update = 0;
4728
- if (hw_dev->is_unite) {
4707
+ if (hw_dev->unite) {
47294708 struct isp3x_isp_params_cfg *params = new_params + 1;
47304709
47314710 __isp_isr_meas_config(params_vdev, params, type, 1);
....@@ -4738,7 +4717,7 @@
47384717 if (new_params->module_cfg_update &
47394718 (ISP3X_MODULE_LDCH | ISP3X_MODULE_CAC)) {
47404719 module_data_abandon(params_vdev, new_params, 0);
4741
- if (hw_dev->is_unite)
4720
+ if (hw_dev->unite)
47424721 module_data_abandon(params_vdev, new_params, 1);
47434722 }
47444723 vb2_buffer_done(&cur_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
....@@ -4756,7 +4735,7 @@
47564735 goto unlock;
47574736
47584737 new_params = (struct isp3x_isp_params_cfg *)(cur_buf->vaddr[0]);
4759
- if (hw_dev->is_unite) {
4738
+ if (hw_dev->unite) {
47604739 __isp_isr_meas_config(params_vdev, new_params + 1, type, 1);
47614740 __isp_isr_other_config(params_vdev, new_params + 1, type, 1);
47624741 __isp_isr_other_en(params_vdev, new_params + 1, type, 1);
....@@ -4766,19 +4745,10 @@
47664745 __isp_isr_other_config(params_vdev, new_params, type, 0);
47674746 __isp_isr_other_en(params_vdev, new_params, type, 0);
47684747 __isp_isr_meas_en(params_vdev, new_params, type, 0);
4769
- if (!hw_dev->is_single && type != RKISP_PARAMS_SHD)
4770
- __isp_config_hdrshd(params_vdev);
47714748
47724749 if (type != RKISP_PARAMS_IMD) {
4773
- struct rkisp_isp_params_val_v3x *priv_val =
4774
- (struct rkisp_isp_params_val_v3x *)params_vdev->priv_val;
4775
-
4776
- priv_val->last_hdrmge = priv_val->cur_hdrmge;
4777
- priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
4778
- priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
4779
- priv_val->cur_hdrdrc = new_params->others.drc_cfg;
47804750 new_params->module_cfg_update = 0;
4781
- if (hw_dev->is_unite)
4751
+ if (hw_dev->unite)
47824752 (new_params++)->module_cfg_update = 0;
47834753 vb2_buffer_done(&cur_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
47844754 cur_buf = NULL;
....@@ -4812,7 +4782,7 @@
48124782 if (value & ISP3X_RAW3D_FST_FRAME)
48134783 rkisp_clear_bits(params_vdev->dev, ISP3X_ISP_CTRL1,
48144784 ISP3X_RAW3D_FST_FRAME, false);
4815
- if (hw_dev->is_unite) {
4785
+ if (hw_dev->unite) {
48164786 value = rkisp_next_read(dev, ISP3X_ISP_CTRL1, false);
48174787 if (value & ISP3X_YNR_FST_FRAME)
48184788 rkisp_next_clear_bits(params_vdev->dev, ISP3X_ISP_CTRL1,
....@@ -4887,7 +4857,7 @@
48874857 return -ENOMEM;
48884858
48894859 size = sizeof(struct isp3x_isp_params_cfg);
4890
- if (ispdev->hw_dev->is_unite)
4860
+ if (ispdev->hw_dev->unite)
48914861 size *= 2;
48924862 params_vdev->isp3x_params = vmalloc(size);
48934863 if (!params_vdev->isp3x_params) {