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?

Bert Karwatzki
   

Reply via email to