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+rene...@ragnatech.se>
---
 drivers/media/platform/rcar-vin/rcar-core.c | 6 ++++++
 drivers/media/platform/rcar-vin/rcar-vin.h  | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/media/platform/rcar-vin/rcar-core.c 
b/drivers/media/platform/rcar-vin/rcar-core.c
index 334c62805959cc8a..dcb539711151a3b5 100644
--- a/drivers/media/platform/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/rcar-vin/rcar-core.c
@@ -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,
diff --git a/drivers/media/platform/rcar-vin/rcar-vin.h 
b/drivers/media/platform/rcar-vin/rcar-vin.h
index 86e9bad44484092c..a36b0824f81d171d 100644
--- a/drivers/media/platform/rcar-vin/rcar-vin.h
+++ b/drivers/media/platform/rcar-vin/rcar-vin.h
@@ -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;
-- 
2.23.0

Reply via email to