Group: Hardware/Components/GPUs/radeon

From LibrePlanet
< Group:Hardware‎ | Components‎ | GPUs
Revision as of 09:15, 20 October 2019 by GNUtoo (talk | contribs) (Status in linux-libre: ni: add potential commit introducing remove())
Jump to: navigation, search

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
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

External links