Re: [PATCH v6 12/25] rcar-vin: move media bus configuration to struct rvin_info
On 23/08/17 01:26, Niklas Söderlund wrote: > Bus configuration will once the driver is extended to to support Gen3 to to -> to > contain information not specific to only the directly connected parallel > subdevice. Move it to struct rvin_info to show it's not always coupled > to the parallel subdevice. > > Signed-off-by: Niklas SöderlundReviewed-by: Hans Verkuil Regards, Hans > --- > drivers/media/platform/rcar-vin/rcar-core.c | 14 +++--- > drivers/media/platform/rcar-vin/rcar-dma.c | 11 ++- > drivers/media/platform/rcar-vin/rcar-v4l2.c | 2 +- > drivers/media/platform/rcar-vin/rcar-vin.h | 9 - > 4 files changed, 18 insertions(+), 18 deletions(-) > > diff --git a/drivers/media/platform/rcar-vin/rcar-core.c > b/drivers/media/platform/rcar-vin/rcar-core.c > index 4dc148e7835439ab..65f01b6781c0aefd 100644 > --- a/drivers/media/platform/rcar-vin/rcar-core.c > +++ b/drivers/media/platform/rcar-vin/rcar-core.c > @@ -45,15 +45,15 @@ static int rvin_find_pad(struct v4l2_subdev *sd, int > direction) > return -EINVAL; > } > > -static bool rvin_mbus_supported(struct rvin_graph_entity *entity) > +static bool rvin_mbus_supported(struct rvin_dev *vin) > { > - struct v4l2_subdev *sd = entity->subdev; > + struct v4l2_subdev *sd = vin->digital.subdev; > struct v4l2_subdev_mbus_code_enum code = { > .which = V4L2_SUBDEV_FORMAT_ACTIVE, > }; > > code.index = 0; > - code.pad = entity->source_pad; > + code.pad = vin->digital.source_pad; > while (!v4l2_subdev_call(sd, pad, enum_mbus_code, NULL, )) { > code.index++; > switch (code.code) { > @@ -61,7 +61,7 @@ static bool rvin_mbus_supported(struct rvin_graph_entity > *entity) > case MEDIA_BUS_FMT_UYVY8_2X8: > case MEDIA_BUS_FMT_UYVY10_2X10: > case MEDIA_BUS_FMT_RGB888_1X24: > - entity->code = code.code; > + vin->code = code.code; > return true; > default: > break; > @@ -78,14 +78,14 @@ static int rvin_digital_notify_complete(struct > v4l2_async_notifier *notifier) > int ret; > > /* Verify subdevices mbus format */ > - if (!rvin_mbus_supported(>digital)) { > + if (!rvin_mbus_supported(vin)) { > vin_err(vin, "Unsupported media bus format for %s\n", > vin->digital.subdev->name); > return -EINVAL; > } > > vin_dbg(vin, "Found media bus format for %s: %d\n", > - vin->digital.subdev->name, vin->digital.code); > + vin->digital.subdev->name, vin->code); > > ret = v4l2_device_register_subdev_nodes(>v4l2_dev); > if (ret < 0) { > @@ -219,7 +219,7 @@ static int rvin_digital_graph_parse(struct rvin_dev *vin) > } > of_node_put(np); > > - ret = rvin_digitial_parse_v4l2(vin, ep, >digital.mbus_cfg); > + ret = rvin_digitial_parse_v4l2(vin, ep, >mbus_cfg); > of_node_put(ep); > if (ret) > return ret; > diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c > b/drivers/media/platform/rcar-vin/rcar-dma.c > index f22bec062db31772..9362e7dba5e3ba95 100644 > --- a/drivers/media/platform/rcar-vin/rcar-dma.c > +++ b/drivers/media/platform/rcar-vin/rcar-dma.c > @@ -633,7 +633,7 @@ static int rvin_setup(struct rvin_dev *vin) > /* >* Input interface >*/ > - switch (vin->digital.code) { > + switch (vin->code) { > case MEDIA_BUS_FMT_YUYV8_1X16: > /* BT.601/BT.1358 16bit YCbCr422 */ > vnmc |= VNMC_INF_YUV16; > @@ -641,7 +641,7 @@ static int rvin_setup(struct rvin_dev *vin) > break; > case MEDIA_BUS_FMT_UYVY8_2X8: > /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */ > - vnmc |= vin->digital.mbus_cfg.type == V4L2_MBUS_BT656 ? > + vnmc |= vin->mbus_cfg.type == V4L2_MBUS_BT656 ? > VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601; > input_is_yuv = true; > break; > @@ -650,7 +650,7 @@ static int rvin_setup(struct rvin_dev *vin) > break; > case MEDIA_BUS_FMT_UYVY10_2X10: > /* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */ > - vnmc |= vin->digital.mbus_cfg.type == V4L2_MBUS_BT656 ? > + vnmc |= vin->mbus_cfg.type == V4L2_MBUS_BT656 ? > VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601; > input_is_yuv = true; > break; > @@ -662,11 +662,11 @@ static int rvin_setup(struct rvin_dev *vin) > dmr2 = VNDMR2_FTEV | VNDMR2_VLV(1); > > /* Hsync Signal Polarity Select */ > - if (!(vin->digital.mbus_cfg.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) > + if (!(vin->mbus_cfg.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) > dmr2 |=
[PATCH v6 12/25] rcar-vin: move media bus configuration to struct rvin_info
Bus configuration will once the driver is extended to to support Gen3 contain information not specific to only the directly connected parallel subdevice. Move it to struct rvin_info to show it's not always coupled to the parallel subdevice. Signed-off-by: Niklas Söderlund--- drivers/media/platform/rcar-vin/rcar-core.c | 14 +++--- drivers/media/platform/rcar-vin/rcar-dma.c | 11 ++- drivers/media/platform/rcar-vin/rcar-v4l2.c | 2 +- drivers/media/platform/rcar-vin/rcar-vin.h | 9 - 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 4dc148e7835439ab..65f01b6781c0aefd 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -45,15 +45,15 @@ static int rvin_find_pad(struct v4l2_subdev *sd, int direction) return -EINVAL; } -static bool rvin_mbus_supported(struct rvin_graph_entity *entity) +static bool rvin_mbus_supported(struct rvin_dev *vin) { - struct v4l2_subdev *sd = entity->subdev; + struct v4l2_subdev *sd = vin->digital.subdev; struct v4l2_subdev_mbus_code_enum code = { .which = V4L2_SUBDEV_FORMAT_ACTIVE, }; code.index = 0; - code.pad = entity->source_pad; + code.pad = vin->digital.source_pad; while (!v4l2_subdev_call(sd, pad, enum_mbus_code, NULL, )) { code.index++; switch (code.code) { @@ -61,7 +61,7 @@ static bool rvin_mbus_supported(struct rvin_graph_entity *entity) case MEDIA_BUS_FMT_UYVY8_2X8: case MEDIA_BUS_FMT_UYVY10_2X10: case MEDIA_BUS_FMT_RGB888_1X24: - entity->code = code.code; + vin->code = code.code; return true; default: break; @@ -78,14 +78,14 @@ static int rvin_digital_notify_complete(struct v4l2_async_notifier *notifier) int ret; /* Verify subdevices mbus format */ - if (!rvin_mbus_supported(>digital)) { + if (!rvin_mbus_supported(vin)) { vin_err(vin, "Unsupported media bus format for %s\n", vin->digital.subdev->name); return -EINVAL; } vin_dbg(vin, "Found media bus format for %s: %d\n", - vin->digital.subdev->name, vin->digital.code); + vin->digital.subdev->name, vin->code); ret = v4l2_device_register_subdev_nodes(>v4l2_dev); if (ret < 0) { @@ -219,7 +219,7 @@ static int rvin_digital_graph_parse(struct rvin_dev *vin) } of_node_put(np); - ret = rvin_digitial_parse_v4l2(vin, ep, >digital.mbus_cfg); + ret = rvin_digitial_parse_v4l2(vin, ep, >mbus_cfg); of_node_put(ep); if (ret) return ret; diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c index f22bec062db31772..9362e7dba5e3ba95 100644 --- a/drivers/media/platform/rcar-vin/rcar-dma.c +++ b/drivers/media/platform/rcar-vin/rcar-dma.c @@ -633,7 +633,7 @@ static int rvin_setup(struct rvin_dev *vin) /* * Input interface */ - switch (vin->digital.code) { + switch (vin->code) { case MEDIA_BUS_FMT_YUYV8_1X16: /* BT.601/BT.1358 16bit YCbCr422 */ vnmc |= VNMC_INF_YUV16; @@ -641,7 +641,7 @@ static int rvin_setup(struct rvin_dev *vin) break; case MEDIA_BUS_FMT_UYVY8_2X8: /* BT.656 8bit YCbCr422 or BT.601 8bit YCbCr422 */ - vnmc |= vin->digital.mbus_cfg.type == V4L2_MBUS_BT656 ? + vnmc |= vin->mbus_cfg.type == V4L2_MBUS_BT656 ? VNMC_INF_YUV8_BT656 : VNMC_INF_YUV8_BT601; input_is_yuv = true; break; @@ -650,7 +650,7 @@ static int rvin_setup(struct rvin_dev *vin) break; case MEDIA_BUS_FMT_UYVY10_2X10: /* BT.656 10bit YCbCr422 or BT.601 10bit YCbCr422 */ - vnmc |= vin->digital.mbus_cfg.type == V4L2_MBUS_BT656 ? + vnmc |= vin->mbus_cfg.type == V4L2_MBUS_BT656 ? VNMC_INF_YUV10_BT656 : VNMC_INF_YUV10_BT601; input_is_yuv = true; break; @@ -662,11 +662,11 @@ static int rvin_setup(struct rvin_dev *vin) dmr2 = VNDMR2_FTEV | VNDMR2_VLV(1); /* Hsync Signal Polarity Select */ - if (!(vin->digital.mbus_cfg.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) + if (!(vin->mbus_cfg.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)) dmr2 |= VNDMR2_HPS; /* Vsync Signal Polarity Select */ - if (!(vin->digital.mbus_cfg.flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)) + if (!(vin->mbus_cfg.flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)) dmr2 |= VNDMR2_VPS;