Group: Hardware/Components/GPUs/radeon

From LibrePlanet
Jump to: navigation, search
(Status in linux-libre: Add code)
(Status in linux-libre: Add r600)
Line 27: Line 27:
 
| r100
 
| r100
 
| r100.c
 
| r100.c
|  
+
|
 
  70967ab9c0c9 radeon: Use request_firmware()
 
  70967ab9c0c9 radeon: Use request_firmware()
 
|
 
|
Line 39: Line 39:
 
|
 
|
 
|-
 
|-
 +
| 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;
 +
        }
 +
}
 +
|-
 +
| r600 (UMS)
 +
| r600_cp.c
 +
|
 +
|
 +
|
 
|}
 
|}

Revision as of 23:02, 15 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;
        }
}
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;
        }
}
r600 (UMS) r600_cp.c