mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
|
From 62e8ab88d2c230dad122aabe2ad0e227d7ceba40 Mon Sep 17 00:00:00 2001
|
||
|
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
|
||
|
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 <tomi.valkeinen@ideasonboard.com>
|
||
|
---
|
||
|
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)
|