Group: Hardware/Components/GPUs/radeon
From LibrePlanet
< Group:Hardware | Components | GPUs
(→Status in linux-libre: ni: add cpde triggering .remove) |
|||
Line 118: | Line 118: | ||
* cik.c | * cik.c | ||
* cik_sdma.c | * cik_sdma.c | ||
+ | |||
+ | == Status in the Xorg radeon driver == | ||
+ | {| class="wikitable" border="1" | ||
+ | ! family | ||
+ | ! distribution and version information | ||
+ | ! configuration file | ||
+ | ! status | ||
+ | |- | ||
+ | | Northern Islands | ||
+ | | Parabola, TODO | ||
+ | | TODO | ||
+ | | TODO | ||
+ | |} | ||
== External links == | == External links == |
Revision as of 09:20, 20 October 2019
Introduction
The radeon driver has code like that for many GPU families:
if (!rdev->me_fw) { r = r100_cp_init_microcode(rdev); if (r) { DRM_ERROR("Failed to load firmware!\n"); return r; } }
The result of that is that without the nonfree firmware, the radeon driver doesn't load.
Being able to use that driver, even if the 3D acceleration doesn't work without the nonfree firmware is very interesting:
- it can enable native resolution
- It supports multi-displays
Status in linux-libre
family | file | commit introducing the driver .remove() | code | linux-libre status |
---|---|---|---|---|
r100 | r100.c |
70967ab9c0c9 radeon: Use request_firmware() |
if (!rdev->me_fw) { r = r100_cp_init_microcode(rdev); if (r) { DRM_ERROR("Failed to load firmware!\n"); return r; } } |
Patch not enabled |
r600 (KMS) | r600.c | Always there:
3ce0a23d2d25 drm/radeon/kms: add r600 KMS support |
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; } } |
Working:
clean_sed ' /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, ' drivers/gpu/drm/radeon/r600.c 'enable blobless activation' |
r600 (UMS) | r600_cp.c |
70967ab9c0c9 radeon: Use request_firmware() |
UMS support has been removed in:
8333f607a631 drm/radeon: remove UMS support |
|
Evergreen | evergreen.c | Working:
clean_sed ' /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, ' drivers/gpu/drm/radeon/evergreen.c 'enable blobless activation' |
||
rv770 | rv770.c | Working:
clean_sed ' /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/, ' drivers/gpu/drm/radeon/rv770.c 'enable blobless activation' |
||
Northern Islands | ni.c | Maybe this commit or before (not clear):
0af62b016804 drm/radeon/kms: add ucode loader for NI |
if (rdev->flags & RADEON_IS_IGP) { if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { r = ni_init_microcode(rdev); if (r) { DRM_ERROR("Failed to load firmware!\n"); return r; } } } else { 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; } } } |
Patch sent to linux-libre, doesn't appear yet in mailman archives |
TODO:
- ni_dpm.c
- si.c
- si_dpm.c
- cik.c
- radeon_uvd.c
- radeon_vce.c
- btc_dpm.c
- ci_dpm.c
- cik.c
- cik_sdma.c
Status in the Xorg radeon driver
family | distribution and version information | configuration file | status |
---|---|---|---|
Northern Islands | Parabola, TODO | TODO | TODO |
External links
- Radeon Xorg driver: Has many information on the GPUs
- linux-libre website
- linux-libre mailing list archives