On Thu Apr 24 10:05:33 2025 +0300, Tomi Valkeinen wrote:
> Currently Gen4 VINs are marked as RCAN_GEN3 models. Add a new enum
> value, RCAR_GEN4, and use it for Gen4 VINs. No functional changes in
> this patch.
>
> Signed-off-by: Tomi Valkeinen <[email protected]>
> Reviewed-by: Niklas Söderlund <[email protected]>
> Tested-by: Niklas Söderlund <[email protected]>
> Link:
> https://lore.kernel.org/r/[email protected]
> Signed-off-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>
Patch committed.
Thanks,
Hans Verkuil
drivers/media/platform/renesas/rcar-vin/rcar-core.c | 2 +-
drivers/media/platform/renesas/rcar-vin/rcar-dma.c | 8 ++++----
drivers/media/platform/renesas/rcar-vin/rcar-vin.h | 1 +
3 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
index cfbc9ec27706..846ae7989b1d 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -1273,7 +1273,7 @@ static const struct rvin_info rcar_info_r8a77995 = {
};
static const struct rvin_info rcar_info_gen4 = {
- .model = RCAR_GEN3,
+ .model = RCAR_GEN4,
.use_mc = true,
.use_isp = true,
.nv12 = true,
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
index f7b80e61a987..374396bcf8b9 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c
@@ -783,7 +783,7 @@ static int rvin_setup(struct rvin_dev *vin)
}
/* Make sure input interface and input format is valid. */
- if (vin->info->model == RCAR_GEN3) {
+ if (vin->info->model == RCAR_GEN3 || vin->info->model == RCAR_GEN4) {
switch (vnmc & VNMC_INF_MASK) {
case VNMC_INF_YUV8_BT656:
case VNMC_INF_YUV10_BT656:
@@ -806,7 +806,7 @@ static int rvin_setup(struct rvin_dev *vin)
}
/* Enable VSYNC Field Toggle mode after one VSYNC input */
- if (vin->info->model == RCAR_GEN3)
+ if (vin->info->model == RCAR_GEN3 || vin->info->model == RCAR_GEN4)
dmr2 = VNDMR2_FTEV;
else
dmr2 = VNDMR2_FTEV | VNDMR2_VLV(1);
@@ -906,7 +906,7 @@ static int rvin_setup(struct rvin_dev *vin)
if (input_is_yuv == output_is_yuv)
vnmc |= VNMC_BPS;
- if (vin->info->model == RCAR_GEN3) {
+ if (vin->info->model == RCAR_GEN3 || vin->info->model ==
RCAR_GEN4) {
/* Select between CSI-2 and parallel input */
if (vin->is_csi)
vnmc &= ~VNMC_DPINE;
@@ -1287,7 +1287,7 @@ static int rvin_mc_validate_format(struct rvin_dev *vin,
struct v4l2_subdev *sd,
if (rvin_scaler_needed(vin)) {
/* Gen3 can't scale NV12 */
- if (vin->info->model == RCAR_GEN3 &&
+ if ((vin->info->model == RCAR_GEN3 || vin->info->model ==
RCAR_GEN4) &&
vin->format.pixelformat == V4L2_PIX_FMT_NV12)
return -EPIPE;
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
b/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
index 934474d2334a..83d1b2734c41 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-vin.h
@@ -39,6 +39,7 @@ enum model_id {
RCAR_M1,
RCAR_GEN2,
RCAR_GEN3,
+ RCAR_GEN4,
};
enum rvin_csi_id {