Group: Hardware/Components/GPUs/radeon

From LibrePlanet
< Group:Hardware‎ | Components‎ | GPUs
Revision as of 08:57, 20 October 2019 by GNUtoo (talk | contribs) (Add ni status)
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 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