OSDN Git Service

media: rcar-vin: Define which hardware supports NV12
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Mon, 14 Oct 2019 00:16:14 +0000 (21:16 -0300)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 5 Nov 2019 11:52:02 +0000 (08:52 -0300)
Most but not all Gen3 hardware support outputting NV12, add a flag to
indicate which SoCs do support it.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/rcar-vin/rcar-core.c
drivers/media/platform/rcar-vin/rcar-vin.h

index 334c628..dcb5397 100644 (file)
@@ -983,6 +983,7 @@ static const struct rvin_group_route rcar_info_r8a7795_routes[] = {
 static const struct rvin_info rcar_info_r8a7795 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a7795_routes,
@@ -1077,6 +1078,7 @@ static const struct rvin_group_route rcar_info_r8a7796_routes[] = {
 static const struct rvin_info rcar_info_r8a7796 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a7796_routes,
@@ -1121,6 +1123,7 @@ static const struct rvin_group_route rcar_info_r8a77965_routes[] = {
 static const struct rvin_info rcar_info_r8a77965 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a77965_routes,
@@ -1168,6 +1171,7 @@ static const struct rvin_group_route rcar_info_r8a77980_routes[] = {
 static const struct rvin_info rcar_info_r8a77980 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a77980_routes,
@@ -1184,6 +1188,7 @@ static const struct rvin_group_route rcar_info_r8a77990_routes[] = {
 static const struct rvin_info rcar_info_r8a77990 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a77990_routes,
@@ -1196,6 +1201,7 @@ static const struct rvin_group_route rcar_info_r8a77995_routes[] = {
 static const struct rvin_info rcar_info_r8a77995 = {
        .model = RCAR_GEN3,
        .use_mc = true,
+       .nv12 = true,
        .max_width = 4096,
        .max_height = 4096,
        .routes = rcar_info_r8a77995_routes,
index 86e9bad..a36b082 100644 (file)
@@ -126,6 +126,7 @@ struct rvin_group_route {
  * struct rvin_info - Information about the particular VIN implementation
  * @model:             VIN model
  * @use_mc:            use media controller instead of controlling subdevice
+ * @nv12:              support outputing NV12 pixel format
  * @max_width:         max input width the VIN supports
  * @max_height:                max input height the VIN supports
  * @routes:            list of possible routes from the CSI-2 recivers to
@@ -134,6 +135,7 @@ struct rvin_group_route {
 struct rvin_info {
        enum model_id model;
        bool use_mc;
+       bool nv12;
 
        unsigned int max_width;
        unsigned int max_height;