media: rockchip: isp: fix drc and hdrmge err for multi sensor

Change-Id: Iec602581f6d7b99076544ebada6cb39eea69393e
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2023-07-21 14:31:27 +08:00
parent eecc48ce7b
commit ce8d18569c
3 changed files with 26 additions and 12 deletions

View File

@@ -4264,10 +4264,14 @@ rkisp_params_cfg_v2x(struct rkisp_isp_params_vdev *params_vdev,
struct rkisp_isp_params_val_v21 *priv_val =
(struct rkisp_isp_params_val_v21 *)params_vdev->priv_val;
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
if (new_params->module_cfg_update & ISP2X_MODULE_HDRMGE) {
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
}
if (new_params->module_cfg_update & ISP2X_MODULE_DRC) {
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
}
new_params->module_cfg_update = 0;
vb2_buffer_done(&cur_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
cur_buf = NULL;

View File

@@ -5300,10 +5300,15 @@ rkisp_params_cfg_v32(struct rkisp_isp_params_vdev *params_vdev,
struct rkisp_isp_params_val_v32 *priv_val =
(struct rkisp_isp_params_val_v32 *)params_vdev->priv_val;
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
if (new_params->module_cfg_update & ISP32_MODULE_HDRMGE) {
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
}
if (new_params->module_cfg_update & ISP32_MODULE_DRC) {
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
}
new_params->module_cfg_update = 0;
vb2_buffer_done(&cur_buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
cur_buf = NULL;

View File

@@ -4773,10 +4773,15 @@ rkisp_params_cfg_v3x(struct rkisp_isp_params_vdev *params_vdev,
struct rkisp_isp_params_val_v3x *priv_val =
(struct rkisp_isp_params_val_v3x *)params_vdev->priv_val;
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
if (new_params->module_cfg_update & ISP3X_MODULE_HDRMGE) {
priv_val->last_hdrmge = priv_val->cur_hdrmge;
priv_val->cur_hdrmge = new_params->others.hdrmge_cfg;
}
if (new_params->module_cfg_update & ISP3X_MODULE_DRC) {
priv_val->last_hdrdrc = priv_val->cur_hdrdrc;
priv_val->cur_hdrdrc = new_params->others.drc_cfg;
}
new_params->module_cfg_update = 0;
if (hw_dev->is_unite)
(new_params++)->module_cfg_update = 0;