Message ID | 20201015231408.2399933-4-niklas.soderlund+renesas@ragnatech.se |
---|---|
State | Accepted |
Commit | 43e36a222a33bf9a0ea33f2e3eb1d7881f965ff8 |
Headers | show |
Series | [1/5] rcar-vin: Use scratch buffer when not in running state | expand |
Hi Niklas, On Fri, Oct 16, 2020 at 01:14:06AM +0200, Niklas Söderlund wrote: > 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> > --- > 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 680160f9f851d8a3..f65deac4c2dbed54 100644 > --- a/drivers/media/platform/rcar-vin/rcar-dma.c > +++ b/drivers/media/platform/rcar-vin/rcar-dma.c > @@ -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); > > diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h b/drivers/media/platform/rcar-vin/rcar-vin.h > index 8396e0e45478fe4f..2fef23470e3ddfe3 100644 > --- a/drivers/media/platform/rcar-vin/rcar-vin.h > +++ b/drivers/media/platform/rcar-vin/rcar-vin.h > @@ -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; Could be a u8, I'm not sure we gain anything though Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Thanks j > > u32 mbus_code; > struct v4l2_pix_format format; > -- > 2.28.0 >
diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c index 680160f9f851d8a3..f65deac4c2dbed54 100644 --- a/drivers/media/platform/rcar-vin/rcar-dma.c +++ b/drivers/media/platform/rcar-vin/rcar-dma.c @@ -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); diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h b/drivers/media/platform/rcar-vin/rcar-vin.h index 8396e0e45478fe4f..2fef23470e3ddfe3 100644 --- a/drivers/media/platform/rcar-vin/rcar-vin.h +++ b/drivers/media/platform/rcar-vin/rcar-vin.h @@ -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;