In preparation of suspend/resume support cache the chsel value when we
write it to the register so it can be restored on resume if needed.

Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
---
 drivers/media/platform/rcar-vin/rcar-dma.c | 2 ++
 drivers/media/platform/rcar-vin/rcar-vin.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c 
b/drivers/media/platform/rcar-vin/rcar-dma.c
index beb9248992a48a74..64f7636f94d6a0a3 100644
--- a/drivers/media/platform/rcar-vin/rcar-dma.c
+++ b/drivers/media/platform/rcar-vin/rcar-dma.c
@@ -1336,6 +1336,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);
 
diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h 
b/drivers/media/platform/rcar-vin/rcar-vin.h
index 0b13b34d03e3dce4..d21fc991b7a9da36 100644
--- a/drivers/media/platform/rcar-vin/rcar-vin.h
+++ b/drivers/media/platform/rcar-vin/rcar-vin.h
@@ -170,6 +170,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
@@ -207,6 +208,7 @@ struct rvin_dev {
        enum rvin_dma_state state;
 
        bool is_csi;
+       unsigned int chsel;
 
        u32 mbus_code;
        struct v4l2_pix_format format;
-- 
2.19.2

Reply via email to