summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_irq_kms.c
diff options
context:
space:
mode:
authorRussell King2009-12-04 15:59:47 +0100
committerRussell King2009-12-04 15:59:47 +0100
commit5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834 (patch)
tree7b72b66081d042a41dc822575503133364857ce2 /drivers/gpu/drm/radeon/radeon_irq_kms.c
parentARM: 5846/1: MAINTAINERS: Add arm Nomadik support (diff)
parentARM: I-cache: flush executable mappings in flush_cache_range() (diff)
downloadkernel-qcow2-linux-5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834.tar.gz
kernel-qcow2-linux-5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834.tar.xz
kernel-qcow2-linux-5cb2faa6ede7ada9cb2bffc832c4ce60f53d6834.zip
Merge branch 'pending-misc' (early part) into devel
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_irq_kms.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_irq_kms.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 8e0a8759e428..a0fe6232dcb6 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -92,6 +92,13 @@ int radeon_irq_kms_init(struct radeon_device *rdev)
if (r) {
return r;
}
+ /* enable msi */
+ rdev->msi_enabled = 0;
+ if (rdev->family >= CHIP_RV380) {
+ int ret = pci_enable_msi(rdev->pdev);
+ if (!ret)
+ rdev->msi_enabled = 1;
+ }
drm_irq_install(rdev->ddev);
rdev->irq.installed = true;
DRM_INFO("radeon: irq initialized.\n");
@@ -103,5 +110,7 @@ void radeon_irq_kms_fini(struct radeon_device *rdev)
if (rdev->irq.installed) {
rdev->irq.installed = false;
drm_irq_uninstall(rdev->ddev);
+ if (rdev->msi_enabled)
+ pci_disable_msi(rdev->pdev);
}
}