summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs600.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2014-11-03 09:57:46 -0500
committerAlex Deucher <alexander.deucher@amd.com>2014-11-06 15:42:44 -0500
commit8efe82ca908400785253c8f0dfcf301e6bd93488 (patch)
tree5c2dd53edbbcf6dd98b288abd093307d1e8046bb /drivers/gpu/drm/radeon/rs600.c
parentdc4edad6530a9b7b66c3d905e2bc06021a05dcad (diff)
downloadblackbird-op-linux-8efe82ca908400785253c8f0dfcf301e6bd93488.tar.gz
blackbird-op-linux-8efe82ca908400785253c8f0dfcf301e6bd93488.zip
drm/radeon: make sure mode init is complete in bandwidth_update
The power management code calls into the display code for certain things. If certain power management sysfs attributes are called before the driver has finished initializing all of the hardware we can run into problems with uninitialized modesetting state. Add a check to make sure modesetting init has completed to the bandwidth update callbacks to fix this. Can be triggered by the tlp and laptop start up scripts depending on the timing. bugs: https://bugzilla.kernel.org/show_bug.cgi?id=83611 https://bugs.freedesktop.org/show_bug.cgi?id=85771 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600.c')
-rw-r--r--drivers/gpu/drm/radeon/rs600.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index 5f6db4629aaa..9acb1c3c005b 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -879,6 +879,9 @@ void rs600_bandwidth_update(struct radeon_device *rdev)
u32 d1mode_priority_a_cnt, d2mode_priority_a_cnt;
/* FIXME: implement full support */
+ if (!rdev->mode_info.mode_config_initialized)
+ return;
+
radeon_update_display_priority(rdev);
if (rdev->mode_info.crtcs[0]->base.enabled)
OpenPOWER on IntegriCloud