From 19959cc9ef79afae53f0a3ae61a8af25700e08ba Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Sun, 6 Apr 2014 22:09:28 -0400 Subject: [PATCH] drm/radeon: fix runpm handling on APUs Don't try and runtime suspend the APU in PX systems. We only want to power down the dGPU. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=75127 https://bugzilla.kernel.org/show_bug.cgi?id=72701 Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org --- drivers/gpu/drm/radeon/radeon_device.c | 3 ++- drivers/gpu/drm/radeon/radeon_kms.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index 2e72dcd..17c4e5b 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1303,7 +1303,8 @@ int radeon_device_init(struct radeon_device *rdev, if (radeon_runtime_pm == 1) runtime = true; - if ((radeon_runtime_pm == -1) && radeon_is_px()) + if ((radeon_runtime_pm == -1) && radeon_is_px() && + ((rdev->flags & RADEON_IS_IGP) == 0)) runtime = true; vga_switcheroo_register_client(rdev->pdev, &radeon_switcheroo_ops, runtime); if (runtime) diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index 3e49342..43de4bc 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c @@ -138,7 +138,8 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) } if ((radeon_runtime_pm == 1) || - ((radeon_runtime_pm == -1) && radeon_is_px())) { + ((radeon_runtime_pm == -1) && radeon_is_px() && + ((rdev->flags & RADEON_IS_IGP) == 0))) { pm_runtime_use_autosuspend(dev->dev); pm_runtime_set_autosuspend_delay(dev->dev, 5000); pm_runtime_set_active(dev->dev); -- 1.8.3.1