From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH 01/11] media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2
Date: Sun, 5 May 2024 23:50:43 +0300 [thread overview]
Message-ID: <20240505205043.GA25518@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20240503155127.105235-2-jacopo.mondi@ideasonboard.com>
Hi Jacopo,
Thank you for the patch.
On Fri, May 03, 2024 at 05:51:16PM +0200, Jacopo Mondi wrote:
> The YUYV8_1X16 and UYVY8_1X16 formats are treated as 'ITU-R
> BT.601/BT.1358 16-bit YCbCr-422 input' (YUV16 - 0x5) in the R-Car VIN
> driver and are thus disallowed when capturing frames from the R-Car
> CSI-2 interface according to the hardware manual.
>
> As the 1X16 format variants are meant to be used with serial busses they
> have to be treated as 'YCbCr-422 8-bit data input' (0x1) when capturing
> from CSI-2, which is a valid setting for CSI-2.
>
> Commit 78b3f9d75a62 ("media: rcar-vin: Add check that input interface
> and format are valid") disallowed capturing YUV16 when using the CSI-2
> interface. Fix this by using YUV8_BT601 for YCbCr422 when CSI-2 is in
> use.
>
> Fixes: 78b3f9d75a62 ("media: rcar-vin: Add check that input interface and format are valid")
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> .../media/platform/renesas/rcar-vin/rcar-dma.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
> index e2c40abc6d3d..21d5b2815e86 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
> @@ -742,12 +742,22 @@ static int rvin_setup(struct rvin_dev *vin)
> */
> switch (vin->mbus_code) {
> case MEDIA_BUS_FMT_YUYV8_1X16:
> - /* BT.601/BT.1358 16bit YCbCr422 */
> - vnmc |= VNMC_INF_YUV16;
> + if (vin->is_csi)
> + /* YCbCr422 8-bit */
> + vnmc |= VNMC_INF_YUV8_BT601;
> + else
> + /* BT.601/BT.1358 16bit YCbCr422 */
> + vnmc |= VNMC_INF_YUV16;
> input_is_yuv = true;
> break;
> case MEDIA_BUS_FMT_UYVY8_1X16:
> - vnmc |= VNMC_INF_YUV16 | VNMC_YCAL;
> + if (vin->is_csi)
> + /* YCbCr422 8-bit */
> + vnmc |= VNMC_INF_YUV8_BT601;
> + else
> + /* BT.601/BT.1358 16bit YCbCr422 */
> + vnmc |= VNMC_INF_YUV16;
> + vnmc |= VNMC_YCAL;
You could also write
case MEDIA_BUS_FMT_UYVY8_1X16:
vnmc |= VNMC_YCAL;
fallthrough;
case MEDIA_BUS_FMT_YUYV8_1X16:
if (vin->is_csi)
/* YCbCr422 8-bit */
vnmc |= VNMC_INF_YUV8_BT601;
else
/* BT.601/BT.1358 16bit YCbCr422 */
vnmc |= VNMC_INF_YUV16;
input_is_yuv = true;
break;
Up to you.
On a side note, CSI-2 isn't supposed to support
MEDIA_BUS_FMT_YUYV8_1X16. The native format is MEDIA_BUS_FMT_UYVY8_1X16.
I wonder if we should trim down the list of supported formats. That's a
candidate for another patch though.
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> input_is_yuv = true;
> break;
> case MEDIA_BUS_FMT_UYVY8_2X8:
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2024-05-05 20:50 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-03 15:51 [PATCH 00/11] media: renesas: rcar-csi2: Use the subdev active state Jacopo Mondi
2024-05-03 15:51 ` [PATCH 01/11] media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2 Jacopo Mondi
2024-05-05 20:50 ` Laurent Pinchart [this message]
2024-05-06 15:45 ` Niklas Söderlund
2024-05-03 15:51 ` [PATCH 02/11] media: rcar-csi2: Disable runtime_pm in probe error Jacopo Mondi
2024-05-05 20:52 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 03/11] media: rcar-csi2: Cleanup subdevice in remove() Jacopo Mondi
2024-05-05 20:53 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 04/11] media: rcar-csi2: Use the subdev active state Jacopo Mondi
2024-05-03 18:03 ` Niklas Söderlund
2024-05-05 21:52 ` Laurent Pinchart
2024-05-06 11:18 ` Niklas Söderlund
2024-05-06 7:25 ` Jacopo Mondi
2024-05-06 8:10 ` Geert Uytterhoeven
2024-05-06 11:26 ` Niklas Söderlund
2024-05-05 21:54 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 05/11] media: adv748x-csi2: Initialize subdev format Jacopo Mondi
2024-05-05 21:01 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 06/11] media: adv748x-csi2: Implement enum_mbus_codes Jacopo Mondi
2024-05-05 21:07 ` Laurent Pinchart
2024-05-06 8:10 ` Jacopo Mondi
2024-05-06 8:38 ` Laurent Pinchart
2024-05-06 8:42 ` Jacopo Mondi
2024-05-06 11:30 ` Niklas Söderlund
2024-05-03 15:51 ` [PATCH 07/11] media: adv748x-csi2: Validate the image format Jacopo Mondi
2024-05-05 21:09 ` Laurent Pinchart
2024-05-06 11:37 ` Niklas Söderlund
2024-05-06 13:21 ` Jacopo Mondi
2024-05-06 14:12 ` Niklas Söderlund
2024-05-06 14:36 ` Jacopo Mondi
2024-05-06 14:58 ` Niklas Söderlund
2024-05-06 15:04 ` Jacopo Mondi
2024-05-06 19:02 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 08/11] media: adv748x-csi2: Use the subdev active state Jacopo Mondi
2024-05-05 21:15 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 09/11] media: max9286: Fix enum_mbus_code Jacopo Mondi
2024-05-05 21:18 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 10/11] media: max9286: Use the subdev active state Jacopo Mondi
2024-05-05 21:26 ` Laurent Pinchart
2024-05-03 15:51 ` [PATCH 11/11] media: max9286: Use frame interval from subdev state Jacopo Mondi
2024-05-05 21:36 ` Laurent Pinchart
2024-05-06 9:37 ` Jacopo Mondi
2024-05-06 10:32 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240505205043.GA25518@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=niklas.soderlund+renesas@ragnatech.se \
--cc=sakari.ailus@linux.intel.com \
--cc=tomi.valkeinen@ideasonboard.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.