Make "radeon: Firmware is required for DRM and KMS ..." less Debian-specific
This commit is contained in:
parent
1cf35d5b4d
commit
ae02ddd98a
|
@ -35,14 +35,13 @@ missing, except for the pre-R600 case.
|
|||
|
||||
/*
|
||||
* KMS wrapper.
|
||||
@@ -311,6 +313,29 @@ static struct drm_driver kms_driver;
|
||||
@@ -311,6 +313,28 @@ static struct drm_driver kms_driver;
|
||||
|
||||
bool radeon_device_is_virtual(void);
|
||||
|
||||
+/* Test that /lib/firmware/radeon is a directory (or symlink to a
|
||||
+ * directory). We could try to match the udev search path, but let's
|
||||
+ * assume people take the easy route and install
|
||||
+ * firmware-linux-nonfree.
|
||||
+ * keep it simple.
|
||||
+ */
|
||||
+static bool radeon_firmware_installed(void)
|
||||
+{
|
||||
|
@ -65,13 +64,13 @@ missing, except for the pre-R600 case.
|
|||
static int radeon_kick_out_firmware_fb(struct pci_dev *pdev)
|
||||
{
|
||||
struct apertures_struct *ap;
|
||||
@@ -340,6 +365,12 @@ static int radeon_pci_probe(struct pci_d
|
||||
@@ -340,6 +364,12 @@ static int radeon_pci_probe(struct pci_d
|
||||
if (vga_switcheroo_client_probe_defer(pdev))
|
||||
return -EPROBE_DEFER;
|
||||
|
||||
+ if ((ent->driver_data & RADEON_FAMILY_MASK) >= CHIP_R600 &&
|
||||
+ !radeon_firmware_installed()) {
|
||||
+ DRM_ERROR("radeon kernel modesetting for R600 or later requires firmware-amd-graphics.\n");
|
||||
+ DRM_ERROR("radeon kernel modesetting for R600 or later requires firmware installed\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
|
|
Loading…
Reference in New Issue