media: rcar-vin: Cache the CSI-2 channel selection value

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>
This commit is contained in:
Niklas Söderlund 2020-10-16 01:14:06 +02:00 committed by Mauro Carvalho Chehab
parent b83a18cca8
commit 43e36a222a
2 changed files with 4 additions and 0 deletions

View 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);

View 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;