[v5,4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family

Message ID 20240704161620.1425409-5-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
State Accepted
Headers
Series rcar-vin: Add support for R-Car V4M |

Commit Message

Niklas Söderlund July 4, 2024, 4:16 p.m. UTC
  Add the Gen4 family compatible. This will be used instead of a SoC
specific compatible for the new Gen4 SoC V4M. Two Gen4 boards (V3U and
V4H) have already been added prior and their bindings need to be kept
for backward compatibility.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v4
- Extend to cover V3U as well, which despite the name is the first Gen4
  board.

* Changes since v3
- Reworked to deal with a Gen4 family compatible instead of a V4M SoC
  specific one.
- Dropped review tags.

* Changes since v2
- Extend commit message to explain why SoC specific compatibles are use
  in the driver instead of adding a new Gen4 fallback to cover both V4H
  and V4M.
- Add review tags.

* Changes since v1
- Create a shared Gen4 info structure.
---
 .../platform/renesas/rcar-vin/rcar-core.c     | 21 ++++++++-----------
 1 file changed, 9 insertions(+), 12 deletions(-)
  

Comments

Laurent Pinchart Aug. 23, 2024, 1:40 p.m. UTC | #1
Hi Niklas,

Thank you for the patch.

On Thu, Jul 04, 2024 at 06:16:18PM +0200, Niklas Söderlund wrote:
> Add the Gen4 family compatible. This will be used instead of a SoC
> specific compatible for the new Gen4 SoC V4M. Two Gen4 boards (V3U and
> V4H) have already been added prior and their bindings need to be kept
> for backward compatibility.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> ---
> * Changes since v4
> - Extend to cover V3U as well, which despite the name is the first Gen4
>   board.
> 
> * Changes since v3
> - Reworked to deal with a Gen4 family compatible instead of a V4M SoC
>   specific one.
> - Dropped review tags.
> 
> * Changes since v2
> - Extend commit message to explain why SoC specific compatibles are use
>   in the driver instead of adding a new Gen4 fallback to cover both V4H
>   and V4M.
> - Add review tags.
> 
> * Changes since v1
> - Create a shared Gen4 info structure.
> ---
>  .../platform/renesas/rcar-vin/rcar-core.c     | 21 ++++++++-----------
>  1 file changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> index 809c3a38cc4a..695d884a22d1 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> @@ -1274,16 +1274,7 @@ static const struct rvin_info rcar_info_r8a77995 = {
>  	.scaler = rvin_scaler_gen3,
>  };
>  
> -static const struct rvin_info rcar_info_r8a779a0 = {
> -	.model = RCAR_GEN3,
> -	.use_mc = true,
> -	.use_isp = true,
> -	.nv12 = true,
> -	.max_width = 4096,
> -	.max_height = 4096,
> -};
> -
> -static const struct rvin_info rcar_info_r8a779g0 = {
> +static const struct rvin_info rcar_info_gen4 = {
>  	.model = RCAR_GEN3,
>  	.use_mc = true,
>  	.use_isp = true,
> @@ -1354,12 +1345,18 @@ static const struct of_device_id rvin_of_id_table[] = {
>  		.data = &rcar_info_r8a77995,
>  	},
>  	{
> +		/* Keep to be compatible with old DTS files. */
>  		.compatible = "renesas,vin-r8a779a0",
> -		.data = &rcar_info_r8a779a0,
> +		.data = &rcar_info_gen4,
>  	},
>  	{
> +		/* Keep to be compatible with old DTS files. */
>  		.compatible = "renesas,vin-r8a779g0",
> -		.data = &rcar_info_r8a779g0,
> +		.data = &rcar_info_gen4,
> +	},
> +	{
> +		.compatible = "renesas,rcar-gen4-vin",
> +		.data = &rcar_info_gen4,
>  	},
>  	{ /* Sentinel */ },
>  };
  

Patch

diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
index 809c3a38cc4a..695d884a22d1 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -1274,16 +1274,7 @@  static const struct rvin_info rcar_info_r8a77995 = {
 	.scaler = rvin_scaler_gen3,
 };
 
-static const struct rvin_info rcar_info_r8a779a0 = {
-	.model = RCAR_GEN3,
-	.use_mc = true,
-	.use_isp = true,
-	.nv12 = true,
-	.max_width = 4096,
-	.max_height = 4096,
-};
-
-static const struct rvin_info rcar_info_r8a779g0 = {
+static const struct rvin_info rcar_info_gen4 = {
 	.model = RCAR_GEN3,
 	.use_mc = true,
 	.use_isp = true,
@@ -1354,12 +1345,18 @@  static const struct of_device_id rvin_of_id_table[] = {
 		.data = &rcar_info_r8a77995,
 	},
 	{
+		/* Keep to be compatible with old DTS files. */
 		.compatible = "renesas,vin-r8a779a0",
-		.data = &rcar_info_r8a779a0,
+		.data = &rcar_info_gen4,
 	},
 	{
+		/* Keep to be compatible with old DTS files. */
 		.compatible = "renesas,vin-r8a779g0",
-		.data = &rcar_info_r8a779g0,
+		.data = &rcar_info_gen4,
+	},
+	{
+		.compatible = "renesas,rcar-gen4-vin",
+		.data = &rcar_info_gen4,
 	},
 	{ /* Sentinel */ },
 };