Re: [PATCH 08/10] media: vsp1: Support full VSPB on R-Car M3-W, M3-N and E3
From: Laurent Pinchart
Date: Thu Sep 17 2026 - 21:45:11 EST
Hi Paul,
Thank you for the patch.
On Thu, Sep 17, 2026 at 09:04:47PM +0900, Paul Elder wrote:
Please preserve authorship of patches.
> The M3-W, M3-N and E3 SoCs integrate a VSPB that reports the same
> version ID as the VSPBD in the H3 and H3-N, but includes additional
> entities compared to the VSPBD. The VSPBD device entry in the driver
> matches on the version ID only, which results in the VSPB being handled
> as a VSPBD. The driver therefore doesn't support the CLU, LUT and HGO
> entities in the M3-W, M3-N and E3 SoCs.
>
> To fix it, split the device entry in two, one for the VSPBD with an
> additional SoC ID match, and one for the VSPB. The VSPBD entry needs to
> be listed first, otherwise the VSPB entry will match on H3 and H3-N as
> well.
>
> The VI6_IP_VERSION_MODEL_VSPBD_GEN3 macro is renamed to
> VI6_IP_VERSION_MODEL_VSPB_GEN3 to indicate that the VSPBD is the special
> case.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> Signed-off-by: Paul Elder <paul.elder+renesas@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/renesas/vsp1/vsp1_drv.c | 13 ++++++++++++-
> drivers/media/platform/renesas/vsp1/vsp1_regs.h | 2 +-
> 2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> index 762a9e776a94d50accad070068f92f6dabb81035..5597595414fe787413c7daa5a3142faa9ced8408 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> @@ -781,14 +781,25 @@ static const struct vsp1_device_info vsp1_device_infos[] = {
> .wpf_count = 1,
> .uapi = true,
> }, {
> - .version = VI6_IP_VERSION_MODEL_VSPBD_GEN3,
> + .version = VI6_IP_VERSION_MODEL_VSPB_GEN3,
> .model = "VSP2-BD",
> + .soc = VI6_IP_VERSION_SOC_H3,
> .gen = 3,
> .features = VSP1_HAS_BRU | VSP1_HAS_WPF_VFLIP,
> .rpf_count = 5,
> .wpf_count = 1,
> .num_bru_inputs = 5,
> .uapi = true,
> + }, {
> + .version = VI6_IP_VERSION_MODEL_VSPB_GEN3,
> + .model = "VSP2-B",
> + .gen = 3,
> + .features = VSP1_HAS_BRU | VSP1_HAS_CLU | VSP1_HAS_HGO
> + | VSP1_HAS_LUT | VSP1_HAS_WPF_VFLIP,
> + .rpf_count = 5,
> + .wpf_count = 1,
> + .num_bru_inputs = 5,
> + .uapi = true,
> }, {
> .version = VI6_IP_VERSION_MODEL_VSPBC_GEN3,
> .model = "VSP2-BC",
> diff --git a/drivers/media/platform/renesas/vsp1/vsp1_regs.h b/drivers/media/platform/renesas/vsp1/vsp1_regs.h
> index 10cfbcd1b6e0b3a9c0a8daaa990babfaeb8dde0c..4c0315656e9f81a9656b58fb6f0233f8a22ac0e1 100644
> --- a/drivers/media/platform/renesas/vsp1/vsp1_regs.h
> +++ b/drivers/media/platform/renesas/vsp1/vsp1_regs.h
> @@ -792,7 +792,7 @@
> #define VI6_IP_VERSION_MODEL_VSPS_V2H (0x12 << 8)
> #define VI6_IP_VERSION_MODEL_VSPD_V2H (0x13 << 8)
> #define VI6_IP_VERSION_MODEL_VSPI_GEN3 (0x14 << 8)
> -#define VI6_IP_VERSION_MODEL_VSPBD_GEN3 (0x15 << 8)
> +#define VI6_IP_VERSION_MODEL_VSPB_GEN3 (0x15 << 8)
> #define VI6_IP_VERSION_MODEL_VSPBC_GEN3 (0x16 << 8)
> #define VI6_IP_VERSION_MODEL_VSPD_GEN3 (0x17 << 8)
> #define VI6_IP_VERSION_MODEL_VSPD_V3 (0x18 << 8)
--
Regards,
Laurent Pinchart