From 62e8ab88d2c230dad122aabe2ad0e227d7ceba40 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 28 Sep 2023 10:42:22 +0300 Subject: [PATCH] media: rp1: csi2: Fix missing reg writes The driver has two places where it writes a register based on a condition, and when that condition is false, the driver presumes that the register has the reset value. This is not a good idea, so fix those places to always write the register. Signed-off-by: Tomi Valkeinen --- drivers/media/platform/raspberrypi/rp1_cfe/csi2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/drivers/media/platform/raspberrypi/rp1_cfe/csi2.c +++ b/drivers/media/platform/raspberrypi/rp1_cfe/csi2.c @@ -253,6 +253,7 @@ void csi2_start_channel(struct csi2_devi */ set_field(&ctrl, 0x3ff, LC_MASK); set_field(&ctrl, 0x00, CH_MODE_MASK); + csi2_reg_write(csi2, CSI2_CH_FRAME_SIZE(channel), 0); } set_field(&ctrl, dt, DT_MASK); @@ -277,8 +278,8 @@ void csi2_open_rx(struct csi2_device *cs { dphy_start(&csi2->dphy); - if (!csi2->multipacket_line) - csi2_reg_write(csi2, CSI2_CTRL, EOP_IS_EOL); + csi2_reg_write(csi2, CSI2_CTRL, + csi2->multipacket_line ? 0 : EOP_IS_EOL); } void csi2_close_rx(struct csi2_device *csi2)