• Simon Ser's avatar
    drm/amdgpu: check tiling flags when creating FB on GFX8- · 98122e63
    Simon Ser authored
    On GFX9+, format modifiers are always enabled and ensure the
    frame-buffers can be scanned out at ADDFB2 time.
    
    On GFX8-, format modifiers are not supported and no other check
    is performed. This means ADDFB2 IOCTLs will succeed even if the
    tiling isn't supported for scan-out, and will result in garbage
    displayed on screen [1].
    
    Fix this by adding a check for tiling flags for GFX8 and older.
    The check is taken from radeonsi in Mesa (see how is_displayable
    is populated in gfx6_compute_surface).
    
    Changes in v2: use drm_WARN_ONCE instead of drm_WARN (Michel)
    
    [1]: https://github.com/swaywm/wlroots/issues/3185Signed-off-by: default avatarSimon Ser <contact@emersion.fr>
    Acked-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Harry Wentland <hwentlan@amd.com>
    Cc: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
    Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    98122e63
amdgpu_display.c 49.7 KB