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)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 23 Jan 2022 20:18:41 +0000 (21:18 +0100)
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>
drivers/media/platform/qcom/camss/camss-csid-170.c

index 2c84d40..22a7d7a 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);
 
-       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));
 }