Re: warnings from validate_blend_mode_for_alpha_formats() in next-20260715
From: Leandro Ribeiro
Date: Fri Jul 17 2026 - 18:55:22 EST
On 7/17/26 11:55 AM, Alex Deucher wrote:
> + Some display folks
>
> On Fri, Jul 17, 2026 at 9:04 AM Bert Karwatzki <spasswolf@xxxxxx> wrote:
>>
>> commit 860e748bddcc ("drm: ensure blend mode supported if pixel format with alpha exposed")
>> introduces validate_blend_mode_for_alpha_formats() which prints warnings for amdpgu as
>> amdgpu only set blend_mode_property for planes of type DRM_PLANE_TYPE_OVERLAY. I tried to fix
>> this by removing he (plane->type == DRM_PLANE_TYPE_OVERLAY) check in amdgpu_dm_plane_init():
>>
>> printk(KERN_INFO "%s: plane=%px plane->type=0x%x plane_cap=%px\n", __func__, plane, plane->type, plane_cap);
>> if (plane_cap)
>> printk(KERN_INFO "%s: per_pixel_alpha =%u\n", __func__, plane_cap->per_pixel_alpha);
>> if (plane_cap && plane_cap->per_pixel_alpha) {
>> unsigned int blend_caps = BIT(DRM_MODE_BLEND_PIXEL_NONE) |
>> BIT(DRM_MODE_BLEND_PREMULTI) |
>> BIT(DRM_MODE_BLEND_COVERAGE);
>>
>> printk(KERN_INFO "%s: creating alpha and blend mode properties for plane %px\n", __func__, plane);
>> drm_plane_create_alpha_property(plane);
>> drm_plane_create_blend_mode_property(plane, blend_caps);
>> }
>>
>> But this does not completely silence the warnings becuase for planes of type DRM_PLANE_TYPE_CURSOR plane_cap is NULL.
>> Is this a problem that should be fixed in amdgpu or is should validate_blend_mode_for_alpha_formats() only be called
>> for planes of certain types?
IMO validate_blend_mode_for_alpha_formats() should be called for all
types of planes. I can't think of anything special about a cursor plane
that would justify it being allowed to expose formats with alpha but not
the blend mode property.
I'm not familiar with the AMD codebase to suggest the best fix, but the
driver would need some way to know whether cursor planes are exposing
formats with alpha.
>>
>> Bert Karwatzki
>>
--
Leandro Ribeiro