diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2016-04-01 17:28:44 +0900 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-04-01 10:09:28 -0400 |
commit | 5e916a3ada5f0c3e8a97ee3bb674e81a9bf78a71 (patch) | |
tree | f1ac9e2e269a6765cd0631e11f0427eb319c34e6 /drivers/gpu/drm/radeon/atombios_crtc.c | |
parent | fc387a0b183150b5beb953d740441f19b49a1fb3 (diff) | |
download | blackbird-op-linux-5e916a3ada5f0c3e8a97ee3bb674e81a9bf78a71.tar.gz blackbird-op-linux-5e916a3ada5f0c3e8a97ee3bb674e81a9bf78a71.zip |
drm/radeon: Only call drm_vblank_on/off between drm_vblank_init/cleanup
Prevents the
if (WARN_ON(pipe >= dev->num_crtcs))
in drm_vblank_on/off from triggering if acceleration fails to
initialize, in which case we call drm_vblank_cleanup.
Reported-and-Tested-by: Julian Margetson <runaway@candw.ms>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index cf61e0856f4a..b80b08f71cb4 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c @@ -275,13 +275,15 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode) if (ASIC_IS_DCE3(rdev) && !ASIC_IS_DCE6(rdev)) atombios_enable_crtc_memreq(crtc, ATOM_ENABLE); atombios_blank_crtc(crtc, ATOM_DISABLE); - drm_vblank_on(dev, radeon_crtc->crtc_id); + if (dev->num_crtcs > radeon_crtc->crtc_id) + drm_vblank_on(dev, radeon_crtc->crtc_id); radeon_crtc_load_lut(crtc); break; case DRM_MODE_DPMS_STANDBY: case DRM_MODE_DPMS_SUSPEND: case DRM_MODE_DPMS_OFF: - drm_vblank_off(dev, radeon_crtc->crtc_id); + if (dev->num_crtcs > radeon_crtc->crtc_id) + drm_vblank_off(dev, radeon_crtc->crtc_id); if (radeon_crtc->enabled) atombios_blank_crtc(crtc, ATOM_ENABLE); if (ASIC_IS_DCE3(rdev) && !ASIC_IS_DCE6(rdev)) |