diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 88e4ea92590..60e689f2d04 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c | |||
| @@ -232,9 +232,28 @@ static struct drm_driver driver_old = { | |||
| 232 | 232 | ||
| 233 | static struct drm_driver kms_driver; | 233 | static struct drm_driver kms_driver; |
| 234 | 234 | ||
| 235 | static void radeon_kick_out_firmware_fb(struct pci_dev *pdev) | ||
| 236 | { | ||
| 237 | struct apertures_struct *ap; | ||
| 238 | bool primary = false; | ||
| 239 | |||
| 240 | ap = alloc_apertures(1); | ||
| 241 | ap->ranges[0].base = pci_resource_start(pdev, 0); | ||
| 242 | ap->ranges[0].size = pci_resource_len(pdev, 0); | ||
| 243 | |||
| 244 | #ifdef CONFIG_X86 | ||
| 245 | primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; | ||
| 246 | #endif | ||
| 247 | remove_conflicting_framebuffers(ap, "radeondrmfb", primary); | ||
| 248 | kfree(ap); | ||
| 249 | } | ||
| 250 | |||
| 235 | static int __devinit | 251 | static int __devinit |
| 236 | radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | 252 | radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) |
| 237 | { | 253 | { |
| 254 | /* Get rid of things like offb */ | ||
| 255 | radeon_kick_out_firmware_fb(pdev); | ||
| 256 | |||
| 238 | return drm_get_pci_dev(pdev, ent, &kms_driver); | 257 | return drm_get_pci_dev(pdev, ent, &kms_driver); |
| 239 | } | 258 | } |
| 240 | 259 | ||
