OSDN Git Service

media: rcar-vin: Limit NV12 availability to supported VIN channels only
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Fri, 6 Dec 2019 16:39:32 +0000 (17:39 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 24 Feb 2020 14:21:20 +0000 (15:21 +0100)
When adding support for NV12 it was overlooked that the pixel format is
only supported on some VIN channels. Fix this by adding a check to only
accept NV12 on the supported channels 0, 1, 4, 5, 8, 9, 12 and 13.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/rcar-vin/rcar-v4l2.c

index a76472c..c60dcf4 100644 (file)
@@ -79,7 +79,11 @@ const struct rvin_video_format *rvin_format_from_pixel(struct rvin_dev *vin,
                        return NULL;
                break;
        case V4L2_PIX_FMT_NV12:
-               if (!vin->info->nv12)
+               /*
+                * If NV12 is supported it's only supported on channels 0, 1, 4,
+                * 5, 8, 9, 12 and 13.
+                */
+               if (!vin->info->nv12 || !(BIT(vin->id) & 0x3333))
                        return NULL;
                break;
        default: