• Guilherme G. Piccoli's avatar
    drm/amdgpu/vcn: Disable indirect SRAM on Vangogh broken BIOSes · 542a56e8
    Guilherme G. Piccoli authored
    The VCN firmware loading path enables the indirect SRAM mode if it's
    advertised as supported. We might have some cases of FW issues that
    prevents this mode to working properly though, ending-up in a failed
    probe. An example below, observed in the Steam Deck:
    
    [...]
    [drm] failed to load ucode VCN0_RAM(0x3A)
    [drm] psp gfx command LOAD_IP_FW(0x6) failed and response status is (0xFFFF0000)
    amdgpu 0000:04:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring vcn_dec_0 test failed (-110)
    [drm:amdgpu_device_init.cold [amdgpu]] *ERROR* hw_init of IP block <vcn_v3_0> failed -110
    amdgpu 0000:04:00.0: amdgpu: amdgpu_device_ip_init failed
    amdgpu 0000:04:00.0: amdgpu: Fatal error during GPU init
    [...]
    
    Disabling the VCN block circumvents this, but it's a very invasive
    workaround that turns off the entire feature. So, let's add a quirk
    on VCN loading that checks for known problematic BIOSes on Vangogh,
    so we can proactively disable the indirect SRAM mode and allow the
    HW proper probe and VCN IP block to work fine.
    
    Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2385
    Fixes: 82132ecc ("drm/amdgpu: enable Vangogh VCN indirect sram mode")
    Cc: stable@vger.kernel.org
    Cc: James Zhu <James.Zhu@amd.com>
    Cc: Leo Liu <leo.liu@amd.com>
    Signed-off-by: default avatarGuilherme G. Piccoli <gpiccoli@igalia.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    542a56e8
amdgpu_vcn.c 32.1 KB