media: camss: csid-170: set the right HALT_CMD when disabled
authorJonathan Marek <jonathan@marek.ca>
Wed, 22 Dec 2021 00:37:41 +0000 (01:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:12 +0000 (14:23 +0200)
[ Upstream commit ee780cd7be3b5608550bafe7d5f113db2140e99b ]

Use the "HALT_CMD_RESUME_AT_FRAME_BOUNDARY" define instead of a "1" which
is otherwise confusing, and add a "HALT_CMD_HALT_AT_FRAME_BOUNDARY" which
is set when disabling.

Fixes: eebe6d00e9bf ("media: camss: Add support for CSID hardware version Titan 170")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Tested-by: Julian Grahsl <jgrahsl@snap.com>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/qcom/camss/camss-csid-170.c

index a006c8dbceb131bbf5d435fd2b0db9eb0d9c0635..82f59933ad7b35272cdcddd0efbce96ce9c17dec 100644 (file)
 #define CSID_RDI_CTRL(rdi)                     ((IS_LITE ? 0x208 : 0x308)\
                                                + 0x100 * (rdi))
 #define                RDI_CTRL_HALT_CMD               0
-#define                        ALT_CMD_RESUME_AT_FRAME_BOUNDARY        1
+#define                        HALT_CMD_HALT_AT_FRAME_BOUNDARY         0
+#define                        HALT_CMD_RESUME_AT_FRAME_BOUNDARY       1
 #define                RDI_CTRL_HALT_MODE              2
 
 #define CSID_RDI_FRM_DROP_PATTERN(rdi)                 ((IS_LITE ? 0x20C : 0x30C)\
@@ -444,7 +445,10 @@ static void csid_configure_stream(struct csid_device *csid, u8 enable)
        val |= 1 << CSI2_RX_CFG1_MISR_EN;
        writel_relaxed(val, csid->base + CSID_CSI2_RX_CFG1); // csi2_vc_mode_shift_val ?
 
-       val = 1 << RDI_CTRL_HALT_CMD;
+       if (enable)
+               val = HALT_CMD_RESUME_AT_FRAME_BOUNDARY << RDI_CTRL_HALT_CMD;
+       else
+               val = HALT_CMD_HALT_AT_FRAME_BOUNDARY << RDI_CTRL_HALT_CMD;
        writel_relaxed(val, csid->base + CSID_RDI_CTRL(0));
 }