mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: rockchip: isp: fix dhaz config with dual unite isp
Change-Id: I6c566165a92dea1c3cbc40f039110ea93794c47e Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -2702,6 +2702,7 @@ static void
|
||||
isp_dhaz_config(struct rkisp_isp_params_vdev *params_vdev,
|
||||
const struct isp3x_dhaz_cfg *arg, u32 id)
|
||||
{
|
||||
struct rkisp_device *dev = params_vdev->dev;
|
||||
u32 i, value, ctrl;
|
||||
|
||||
ctrl = isp3_param_read(params_vdev, ISP3X_DHAZ_CTRL, id);
|
||||
@@ -2713,9 +2714,12 @@ isp_dhaz_config(struct rkisp_isp_params_vdev *params_vdev,
|
||||
(arg->hist_en & 0x1) << 8 |
|
||||
(arg->dc_en & 0x1) << 4 |
|
||||
(arg->round_en & 0x1) << 26;
|
||||
if (arg->soft_wr_en) {
|
||||
if (arg->soft_wr_en)
|
||||
ctrl |= (arg->soft_wr_en & 0x1) << 25;
|
||||
|
||||
/* merge dual unite isp params at frame end */
|
||||
if (arg->soft_wr_en &&
|
||||
(!dev->hw_dev->is_unite ||
|
||||
(dev->hw_dev->is_unite && !(ctrl & ISP3X_DHAZ_ENMUX)))) {
|
||||
value = ISP_PACK_2SHORT(arg->adp_wt_wr, arg->adp_air_wr);
|
||||
isp3_param_write(params_vdev, value, ISP3X_DHAZ_ADT_WR0, id);
|
||||
value = ISP_PACK_2SHORT(arg->adp_tmax_wr, arg->adp_gratio_wr);
|
||||
@@ -4075,8 +4079,10 @@ static void rkisp_save_first_param_v3x(struct rkisp_isp_params_vdev *params_vdev
|
||||
|
||||
static void rkisp_clear_first_param_v3x(struct rkisp_isp_params_vdev *params_vdev)
|
||||
{
|
||||
params_vdev->isp3x_params->module_cfg_update = 0;
|
||||
params_vdev->isp3x_params->module_en_update = 0;
|
||||
u32 mult = params_vdev->dev->hw_dev->is_unite ? ISP3_UNITE_MAX : 1;
|
||||
u32 size = sizeof(struct isp3x_isp_params_cfg) * mult;
|
||||
|
||||
memset(params_vdev->isp3x_params, 0, size);
|
||||
}
|
||||
|
||||
static void rkisp_deinit_mesh_buf(struct rkisp_isp_params_vdev *params_vdev,
|
||||
|
||||
@@ -971,8 +971,7 @@ rkisp_merge_dual_dhaz_params(struct rkisp_isp_stats_vdev *stats_vdev,
|
||||
if (!left_stat || !right_stat ||
|
||||
!(left_stat->meas_type & ISP3X_STAT_DHAZ) ||
|
||||
!(right_stat->meas_type & ISP3X_STAT_DHAZ) ||
|
||||
!(isp3_stats_read(stats_vdev, ISP3X_DHAZ_CTRL, 0) & BIT(25)) ||
|
||||
!(isp3_stats_read(stats_vdev, ISP3X_DHAZ_CTRL, 0) & BIT(4)))
|
||||
!(isp3_stats_read(stats_vdev, ISP3X_DHAZ_CTRL, 0) & BIT(25)))
|
||||
return;
|
||||
|
||||
dhaz_cfg = &dev->params_vdev.isp3x_params->others.dhaz_cfg;
|
||||
|
||||
Reference in New Issue
Block a user