[PATCH] Add support for Radeon Southern Islands

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Thu Dec 5 18:25:01 UTC 2019

From: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>

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 <GNUtoo at no-log.org>
 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://www.fsfla.org/pipermail/linux-libre/attachments/20191205/462aedf7/attachment.sig>

More information about the linux-libre mailing list