diff options
author | Dave Airlie <airlied@redhat.com> | 2012-09-17 00:40:31 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-11-01 12:43:14 -0400 |
commit | 10ebc0bc09344ab6310309169efc73dfe6c23d72 (patch) | |
tree | 9d93730a567190aa7b57d91999565273bc002dc0 /drivers/gpu/drm/radeon/radeon_irq_kms.c | |
parent | 7473e830c400b2ebf54937a4f075279f7713a2b7 (diff) |
drm/radeon: add runtime PM support (v2)
This hooks radeon up to the runtime PM system to enable
dynamic power management for secondary GPUs in switchable
and powerxpress laptops.
v2: agd5f: clean up, add module parameter
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_irq_kms.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_irq_kms.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c index cc9e8482cf30..ec6240b00469 100644 --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c | |||
@@ -32,6 +32,8 @@ | |||
32 | #include "radeon.h" | 32 | #include "radeon.h" |
33 | #include "atom.h" | 33 | #include "atom.h" |
34 | 34 | ||
35 | #include <linux/pm_runtime.h> | ||
36 | |||
35 | #define RADEON_WAIT_IDLE_TIMEOUT 200 | 37 | #define RADEON_WAIT_IDLE_TIMEOUT 200 |
36 | 38 | ||
37 | /** | 39 | /** |
@@ -47,8 +49,12 @@ irqreturn_t radeon_driver_irq_handler_kms(DRM_IRQ_ARGS) | |||
47 | { | 49 | { |
48 | struct drm_device *dev = (struct drm_device *) arg; | 50 | struct drm_device *dev = (struct drm_device *) arg; |
49 | struct radeon_device *rdev = dev->dev_private; | 51 | struct radeon_device *rdev = dev->dev_private; |
52 | irqreturn_t ret; | ||
50 | 53 | ||
51 | return radeon_irq_process(rdev); | 54 | ret = radeon_irq_process(rdev); |
55 | if (ret == IRQ_HANDLED) | ||
56 | pm_runtime_mark_last_busy(dev->dev); | ||
57 | return ret; | ||
52 | } | 58 | } |
53 | 59 | ||
54 | /* | 60 | /* |