mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
media: rockchip: isp: switch hdr_done interrupt according to hdrtmo cnt mode
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com> Change-Id: Ibe1a23e5871daf32bf0646ccc022b2a7f371b08c
This commit is contained in:
@@ -3137,7 +3137,7 @@ isp_hdrtmo_config(struct rkisp_isp_params_vdev *params_vdev,
|
||||
const struct isp2x_hdrtmo_cfg *arg, enum rkisp_params_type type)
|
||||
{
|
||||
u8 big_en, nobig_en;
|
||||
u32 value;
|
||||
u32 value, irq_mask = 0x0;
|
||||
|
||||
if (type == RKISP_PARAMS_SHD || type == RKISP_PARAMS_ALL) {
|
||||
value = rkisp_ioread32(params_vdev, ISP_HDRTMO_CTRL_CFG);
|
||||
@@ -3175,6 +3175,12 @@ isp_hdrtmo_config(struct rkisp_isp_params_vdev *params_vdev,
|
||||
nobig_en = 0;
|
||||
}
|
||||
|
||||
irq_mask = rkisp_ioread32(params_vdev, CIF_ISP_IMSC);
|
||||
if (arg->cnt_mode & 0x01 && !(irq_mask & ISP2X_HDR_DONE)) {
|
||||
irq_mask |= ISP2X_HDR_DONE;
|
||||
rkisp_write(params_vdev->dev, CIF_ISP_IMSC, irq_mask, true);
|
||||
}
|
||||
|
||||
value = rkisp_ioread32(params_vdev, ISP_HDRTMO_CTRL);
|
||||
value &= ISP_HDRTMO_EN;
|
||||
value |= (arg->cnt_vsize & 0x1FFF) << 16 |
|
||||
|
||||
@@ -650,7 +650,7 @@ static int rkisp_config_isp(struct rkisp_device *dev)
|
||||
|
||||
/* interrupt mask */
|
||||
irq_mask |= CIF_ISP_FRAME | CIF_ISP_V_START | CIF_ISP_PIC_SIZE_ERROR |
|
||||
CIF_ISP_FRAME_IN | ISP2X_HDR_DONE;
|
||||
CIF_ISP_FRAME_IN;
|
||||
if (dev->isp_ver == ISP_V20 || dev->isp_ver == ISP_V21)
|
||||
irq_mask |= ISP2X_LSC_LUT_ERR;
|
||||
rkisp_write(dev, CIF_ISP_IMSC, irq_mask, true);
|
||||
|
||||
Reference in New Issue
Block a user