More Radeon R600 compatibility
Denis 'GNUtoo' Carikli
GNUtoo at no-log.org
Sat Jul 30 19:02:49 UTC 2016
Hi,
Could you enable Radeon R600 evergreen GPUs in linux-libre?
Technical details:
==================
On a Toshiba N550D running Trisquel, I patched Jason Self's Linux-libre
sources that way:
---
linux-libre-4.6.4-source/linux/drivers/gpu/drm/radeon/evergreen.c
2016-07-12 18:22:54.000000000 +0200
+++ ../linux-libre-4.6.4-source/linux/drivers/gpu/drm/radeon/evergreen.c
2016-07-23 16:18:47.757577686 +0200 @@ -5768,19 +5768,13 @@ if
(ASIC_IS_DCE5(rdev)) { if (!rdev->me_fw || !rdev->pfp_fw
|| !rdev->rlc_fw || !rdev->mc_fw) {
- r = ni_init_microcode(rdev);
- if (r) {
- DRM_ERROR("Failed to load
firmware!\n");
- return r;
- }
+ ni_init_microcode(rdev);
+ DRM_ERROR("evergreen: Failed to load DCE5
firmware!\n"); }
} else {
if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
- r = r600_init_microcode(rdev);
- if (r) {
- DRM_ERROR("Failed to load
firmware!\n");
- return r;
- }
+ r600_init_microcode(rdev);
+ DRM_ERROR("evergreen: Failed to load r600
firmware!\n"); }
}
This produced the following message that shows which code path it took:
> [ 3.528518] [drm:evergreen_init [radeon]] *ERROR* evergreen:
> Failed to load r600 firmware!
Tests:
======
After compiling and installing the sources, the radeon driver loaded and
worked fine (without 3D acceleration): It enabled the native resolution
of the laptop display (1024x600) instead of being limited to 800x600 by
the VGA option ROM.
I also tested (successfully) the HDMI output and the dual screen
feature that way.
I didn't find out of the box how to make HDMI audio work, but I didn't
try hard and having the possibility to use the native resolution and
multiples monitor is already a huge improvement: it makes that computer
usable.
Suggestion:
===========
So could you add something like the following to the deblob script:
clean_sed '
/r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/,
' drivers/gpu/drm/radeon/evergreen.c 'enable blobless activation'
The only change with what's already in the deblob script is to also run
it for "evergreen.c".
Denis.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://www.fsfla.org/pipermail/linux-libre/attachments/20160730/5b2252e8/attachment.sig>
More information about the linux-libre
mailing list