This is a note to let you know that I've just added the patch titled drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2) to the 3.11-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-radeon-dpm-make-sure-dc-performance-level-limits-are-valid-btc-si-v2.patch and it can be found in the queue-3.11 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 1ff60ddb84bb9ff6fa182710c4e08b66badf918c Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri, 30 Aug 2013 16:18:35 -0400 Subject: drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2) From: Alex Deucher <alexander.deucher@xxxxxxx> commit 1ff60ddb84bb9ff6fa182710c4e08b66badf918c upstream. Check to make sure the dc limits are valid before using them. Some systems may not have a dc limits table. In that case just use the ac limits. This fixes hangs on systems when the power state is changed when on battery (dc) due to invalid performance state parameters. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=68708 v2: fix up limits in dpm_init() Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/radeon/btc_dpm.c | 6 ++++++ drivers/gpu/drm/radeon/ni_dpm.c | 6 ++++++ drivers/gpu/drm/radeon/si_dpm.c | 6 ++++++ 3 files changed, 18 insertions(+) --- a/drivers/gpu/drm/radeon/btc_dpm.c +++ b/drivers/gpu/drm/radeon/btc_dpm.c @@ -2699,6 +2699,12 @@ int btc_dpm_init(struct radeon_device *r else rdev->pm.dpm.dyn_state.sclk_mclk_delta = 10000; + /* make sure dc limits are valid */ + if ((rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.sclk == 0) || + (rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.mclk == 0)) + rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc = + rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac; + return 0; } --- a/drivers/gpu/drm/radeon/ni_dpm.c +++ b/drivers/gpu/drm/radeon/ni_dpm.c @@ -4270,6 +4270,12 @@ int ni_dpm_init(struct radeon_device *rd ni_pi->use_power_boost_limit = true; + /* make sure dc limits are valid */ + if ((rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.sclk == 0) || + (rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.mclk == 0)) + rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc = + rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac; + return 0; } --- a/drivers/gpu/drm/radeon/si_dpm.c +++ b/drivers/gpu/drm/radeon/si_dpm.c @@ -6401,6 +6401,12 @@ int si_dpm_init(struct radeon_device *rd si_initialize_powertune_defaults(rdev); + /* make sure dc limits are valid */ + if ((rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.sclk == 0) || + (rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc.mclk == 0)) + rdev->pm.dpm.dyn_state.max_clock_voltage_on_dc = + rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac; + return 0; } Patches currently in stable-queue which might be from alexander.deucher@xxxxxxx are queue-3.11/radeon-kms-fix-uninitialised-hotplug-work-usage-in-r100_irq_process.patch queue-3.11/drm-radeon-fix-init-ordering-for-r600.patch queue-3.11/drm-radeon-add-berlin-pci-ids.patch queue-3.11/drm-radeon-enable-uvd-interrupts-on-cik.patch queue-3.11/drm-radeon-fix-lcd-record-parsing.patch queue-3.11/drm-radeon-fix-resume-on-some-rs4xx-boards-v2.patch queue-3.11/drm-radeon-cik-update-gpu_init-for-an-additional-berlin-gpu.patch queue-3.11/drm-radeon-update-line-buffer-allocation-for-dce8.patch queue-3.11/drm-radeon-si-add-support-for-cp-dma-to-cs-checker-for-compute-v2.patch queue-3.11/drm-radeon-fix-endian-bugs-in-hw-i2c-atom-routines.patch queue-3.11/drm-radeon-dpm-add-reclocking-quirk-for-asus-k70af.patch queue-3.11/drm-radeon-update-line-buffer-allocation-for-dce6.patch queue-3.11/drm-radeon-update-line-buffer-allocation-for-dce4.1-5.patch queue-3.11/drm-radeon-dpm-make-sure-dc-performance-level-limits-are-valid-btc-si-v2.patch queue-3.11/drm-radeon-fix-handling-of-variable-sized-arrays-for-router-objects.patch queue-3.11/drm-radeon-fill-in-gpu_init-for-berlin-gpu-cores.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html