|
@@ -1148,8 +1148,13 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
|
/* Registers mapping */
|
|
|
/* TODO: block userspace mapping of io register */
|
|
|
spin_lock_init(&rdev->mmio_idx_lock);
|
|
|
- rdev->rmmio_base = pci_resource_start(rdev->pdev, 2);
|
|
|
- rdev->rmmio_size = pci_resource_len(rdev->pdev, 2);
|
|
|
+ if (rdev->family >= CHIP_BONAIRE) {
|
|
|
+ rdev->rmmio_base = pci_resource_start(rdev->pdev, 5);
|
|
|
+ rdev->rmmio_size = pci_resource_len(rdev->pdev, 5);
|
|
|
+ } else {
|
|
|
+ rdev->rmmio_base = pci_resource_start(rdev->pdev, 2);
|
|
|
+ rdev->rmmio_size = pci_resource_len(rdev->pdev, 2);
|
|
|
+ }
|
|
|
rdev->rmmio = ioremap(rdev->rmmio_base, rdev->rmmio_size);
|
|
|
if (rdev->rmmio == NULL) {
|
|
|
return -ENOMEM;
|