From cdf7c2e027dc3188b4b0478ce663020b9326bac4 Mon Sep 17 00:00:00 2001 From: lxoliva Date: Fri, 6 Dec 2019 13:35:52 +0000 Subject: [PATCH] Summary: enable activation of southern islands radeon cards without blobs The si.c file also needed to be patched to avoid the following probe failure due to the missing MC firmrware: [drm:si_startup [radeon]] *ERROR* Failed to load MC firmware! radeon 0000:02:00.0: disabling GPU acceleration radeon 0000:02:00.0: 00000000b8c27aec unpin not necessary [drm:si_init [radeon]] *ERROR* radeon: MC ucode required for NI+. radeon 0000:02:00.0: Fatal error during GPU init [...] radeon: probe of 0000:02:00.0 failed with error -22 This has been tested with the following GPU: 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] [1002:683f] Xorg, lightdm, xfce4, mplayer and wesnoth have been tested and work fine, though in mplayer the OSD has some light artefacts. Signed-off-by: Denis 'GNUtoo' Carikli git-svn-id: http://www.fsfla.org/svn/fsfla/software/linux-libre/scripts@17089 559672b5-ba27-0410-b829-e8f1faed8b1b --- deblob-5.4 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/deblob-5.4 b/deblob-5.4 index 9b9ac8d8357..615b1754485 100755 --- a/deblob-5.4 +++ b/deblob-5.4 @@ -882,6 +882,8 @@ reject_firmware drivers/gpu/drm/radeon/r600.c clean_blob drivers/gpu/drm/radeon/r600.c reject_firmware drivers/gpu/drm/radeon/ni.c clean_blob drivers/gpu/drm/radeon/ni.c +reject_firmware drivers/gpu/drm/radeon/si.c +clean_blob drivers/gpu/drm/radeon/si.c # Something like this might work on other radeon cards too. If you # have such cards, please give it a try, and report back either way, # so that we can make more cards work, or at least add comments so @@ -899,8 +901,12 @@ clean_sed ' clean_sed ' /r = ni_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, ' drivers/gpu/drm/radeon/ni.c 'enable blobless activation' -reject_firmware drivers/gpu/drm/radeon/si.c -clean_blob drivers/gpu/drm/radeon/si.c +clean_sed ' +/r = si_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' +clean_sed ' +/if (!rdev->mc_fw) {/,/}/ s,return -EINVAL;,/*(DEBLOBBED)*/, +' drivers/gpu/drm/radeon/si.c 'enable blobless activation' reject_firmware drivers/gpu/drm/radeon/cik.c clean_blob drivers/gpu/drm/radeon/cik.c reject_firmware drivers/gpu/drm/radeon/radeon_uvd.c -- 2.31.1