OSDN Git Service

media: rcar-vin: Cache the CSI-2 channel selection value
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Thu, 15 Oct 2020 23:14:06 +0000 (01:14 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 16 Nov 2020 09:31:10 +0000 (10:31 +0100)
In preparation of suspend/resume support cache the chsel value when
written to the register so it can be restored on resume if needed.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/rcar-vin/rcar-dma.c
drivers/media/platform/rcar-vin/rcar-vin.h

index 680160f..f65deac 100644 (file)
@@ -1456,6 +1456,8 @@ int rvin_set_channel_routing(struct rvin_dev *vin, u8 chsel)
 
        vin_dbg(vin, "Set IFMD 0x%x\n", ifmd);
 
+       vin->chsel = chsel;
+
        /* Restore VNMC. */
        rvin_write(vin, vnmc, VNMC_REG);
 
index 8396e0e..2fef234 100644 (file)
@@ -189,6 +189,7 @@ struct rvin_info {
  * @state:             keeps track of operation state
  *
  * @is_csi:            flag to mark the VIN as using a CSI-2 subdevice
+ * @chsel              Cached value of the current CSI-2 channel selection
  *
  * @mbus_code:         media bus format code
  * @format:            active V4L2 pixel format
@@ -232,6 +233,7 @@ struct rvin_dev {
        enum rvin_dma_state state;
 
        bool is_csi;
+       unsigned int chsel;
 
        u32 mbus_code;
        struct v4l2_pix_format format;