media: camss: csid-170: fix non-10bit formats
authorJonathan Marek <jonathan@marek.ca>
Wed, 22 Dec 2021 00:37:37 +0000 (01:37 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 23 Jan 2022 20:18:40 +0000 (21:18 +0100)
Use the decode_format/data_type from the "format" struct instead of a
hardcoded 10-bit format.

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 ac22ff29d2a9f20857cb2f41033c537f9ee1d523..aa65043c330372a54c61fa440f42d0030c045308 100644 (file)
@@ -366,7 +366,7 @@ static void csid_configure_stream(struct csid_device *csid, u8 enable)
                        val |= input_format->width & 0x1fff << TPG_DT_n_CFG_0_FRAME_WIDTH;
                        writel_relaxed(val, csid->base + CSID_TPG_DT_n_CFG_0(0));
 
-                       val = DATA_TYPE_RAW_10BIT << TPG_DT_n_CFG_1_DATA_TYPE;
+                       val = format->data_type << TPG_DT_n_CFG_1_DATA_TYPE;
                        writel_relaxed(val, csid->base + CSID_TPG_DT_n_CFG_1(0));
 
                        val = tg->mode << TPG_DT_n_CFG_2_PAYLOAD_MODE;
@@ -382,8 +382,9 @@ static void csid_configure_stream(struct csid_device *csid, u8 enable)
                val = 1 << RDI_CFG0_BYTE_CNTR_EN;
                val |= 1 << RDI_CFG0_FORMAT_MEASURE_EN;
                val |= 1 << RDI_CFG0_TIMESTAMP_EN;
+               /* note: for non-RDI path, this should be format->decode_format */
                val |= DECODE_FORMAT_PAYLOAD_ONLY << RDI_CFG0_DECODE_FORMAT;
-               val |= DATA_TYPE_RAW_10BIT << RDI_CFG0_DATA_TYPE;
+               val |= format->data_type << RDI_CFG0_DATA_TYPE;
                val |= vc << RDI_CFG0_VIRTUAL_CHANNEL;
                val |= dt_id << RDI_CFG0_DT_ID;
                writel_relaxed(val, csid->base + CSID_RDI_CFG0(0));