[PATCH v2 1/2] drm/vc4: plane: Flag formats as having a minimum generation

Maíra Canal mcanal at igalia.com
Fri Aug 8 20:47:24 UTC 2025


Hi Dave,

On 07/08/25 10:28, Dave Stevenson wrote:
> The bool hvs5_only is now mis-named as they are also supported on
> hvs6, and we're about to add formats that are only supported on
> hvs6.
> 
> Change from a bool to an enum vc4_gen giving the minimum generation
> that supports the format.
> 
> Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>

Reviewed-by: Maíra Canal <mcanal at igalia.com>

Best Regards,
- Maíra

> ---
>   drivers/gpu/drm/vc4/vc4_plane.c | 14 +++++++-------
>   1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
> index 056d344c5411..3bdd9466a7b0 100644
> --- a/drivers/gpu/drm/vc4/vc4_plane.c
> +++ b/drivers/gpu/drm/vc4/vc4_plane.c
> @@ -35,7 +35,7 @@ static const struct hvs_format {
>   	u32 hvs; /* HVS_FORMAT_* */
>   	u32 pixel_order;
>   	u32 pixel_order_hvs5;
> -	bool hvs5_only;
> +	enum vc4_gen min_gen;
>   } hvs_formats[] = {
>   	{
>   		.drm = DRM_FORMAT_XRGB8888,
> @@ -161,31 +161,31 @@ static const struct hvs_format {
>   		.drm = DRM_FORMAT_P030,
>   		.hvs = HVS_PIXEL_FORMAT_YCBCR_10BIT,
>   		.pixel_order_hvs5 = HVS_PIXEL_ORDER_XYCBCR,
> -		.hvs5_only = true,
> +		.min_gen = VC4_GEN_5,
>   	},
>   	{
>   		.drm = DRM_FORMAT_XRGB2101010,
>   		.hvs = HVS_PIXEL_FORMAT_RGBA1010102,
>   		.pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB,
> -		.hvs5_only = true,
> +		.min_gen = VC4_GEN_5,
>   	},
>   	{
>   		.drm = DRM_FORMAT_ARGB2101010,
>   		.hvs = HVS_PIXEL_FORMAT_RGBA1010102,
>   		.pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB,
> -		.hvs5_only = true,
> +		.min_gen = VC4_GEN_5,
>   	},
>   	{
>   		.drm = DRM_FORMAT_ABGR2101010,
>   		.hvs = HVS_PIXEL_FORMAT_RGBA1010102,
>   		.pixel_order_hvs5 = HVS_PIXEL_ORDER_ABGR,
> -		.hvs5_only = true,
> +		.min_gen = VC4_GEN_5,
>   	},
>   	{
>   		.drm = DRM_FORMAT_XBGR2101010,
>   		.hvs = HVS_PIXEL_FORMAT_RGBA1010102,
>   		.pixel_order_hvs5 = HVS_PIXEL_ORDER_ABGR,
> -		.hvs5_only = true,
> +		.min_gen = VC4_GEN_5,
>   	},
>   	{
>   		.drm = DRM_FORMAT_RGB332,
> @@ -2524,7 +2524,7 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev,
>   	};
>   
>   	for (i = 0; i < ARRAY_SIZE(hvs_formats); i++) {
> -		if (!hvs_formats[i].hvs5_only || vc4->gen >= VC4_GEN_5) {
> +		if (vc4->gen >= hvs_formats[i].min_gen) {
>   			formats[num_formats] = hvs_formats[i].drm;
>   			num_formats++;
>   		}
> 



More information about the dri-devel mailing list