]> git.hungrycats.org Git - linux/commitdiff
media: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Wed, 30 Aug 2023 15:16:14 +0000 (16:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:15:16 +0000 (17:15 +0000)
commit e655d1ae9703286cef7fda8675cad62f649dc183 upstream.

VC_MODE = 0 implies a two bit VC address.
VC_MODE = 1 is required for VCs with a larger address than two bits.

Fixes: eebe6d00e9bf ("media: camss: Add support for CSID hardware version Titan 170")
Cc: stable@vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/qcom/camss/camss-csid-gen2.c

index 0f8ac29d038db8562fcefb953113b023c593c69e..efc68f8b4de9ed0c13cefddaa2b80550be7ec86d 100644 (file)
@@ -449,6 +449,8 @@ static void __csid_configure_stream(struct csid_device *csid, u8 enable, u8 vc)
        writel_relaxed(val, csid->base + CSID_CSI2_RX_CFG0);
 
        val = 1 << CSI2_RX_CFG1_PACKET_ECC_CORRECTION_EN;
+       if (vc > 3)
+               val |= 1 << CSI2_RX_CFG1_VC_MODE;
        val |= 1 << CSI2_RX_CFG1_MISR_EN;
        writel_relaxed(val, csid->base + CSID_CSI2_RX_CFG1);