radeon: fix crtc vblank update for r600 (regression in 2.6.32.2)

svn path=/dists/trunk/linux-2.6/; revision=14804
This commit is contained in:
Ben Hutchings 2009-12-22 01:29:59 +00:00
parent d9cddba68f
commit 3209d7cf9e
3 changed files with 48 additions and 0 deletions

1
debian/changelog vendored
View File

@ -14,6 +14,7 @@ linux-2.6 (2.6.32-3) UNRELEASED; urgency=high
* Add stable release 2.6.32.2:
- KVM: x86 emulator: limit instructions to 15 bytes (CVE-2009-4031)
- hfs: fix a potential buffer overflow (CVE-2009-4020)
* radeon: fix crtc vblank update for r600 (regression in 2.6.32.2)
* ia64: Include <linux/personality.h> header in <asm/fcntl.h>; fixes
FTBFS
* r8169: Allow RTL8168D v1 and v2 to be used without firmware files

View File

@ -0,0 +1,46 @@
From: Dave Airlie <airlied@gmail.com>
To: stable@kernel.org
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.sf.net, Dave Airlie <airlied@redhat.com>
Subject: [PATCH] stable - drm/radeon/kms: fix crtc vblank update for r600
Date: Mon, 21 Dec 2009 14:33:52 +1000
From: Dave Airlie <airlied@redhat.com>
In 2.6.32.2 r600 had no IRQ support, however the patch in
500b758725314ab1b5316eb0caa5b0fa26740e6b to fix vblanks on avivo
cards, needs irqs.
So check for an R600 card and avoid this path if so.
This is a stable only patch for 2.6.32.2 as 2.6.33 has IRQs for r600.
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
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 c6777cb..19f93f2 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -249,13 +249,15 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
if (ASIC_IS_DCE3(rdev))
atombios_enable_crtc_memreq(crtc, 1);
atombios_blank_crtc(crtc, 0);
- drm_vblank_post_modeset(dev, radeon_crtc->crtc_id);
+ if (rdev->family < CHIP_R600)
+ drm_vblank_post_modeset(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_pre_modeset(dev, radeon_crtc->crtc_id);
+ if (rdev->family < CHIP_R600)
+ drm_vblank_pre_modeset(dev, radeon_crtc->crtc_id);
atombios_blank_crtc(crtc, 1);
if (ASIC_IS_DCE3(rdev))
atombios_enable_crtc_memreq(crtc, 0);
--
1.6.5.2

View File

@ -10,3 +10,4 @@
- features/all/r8169-rtl8168d-1-2-request_firmware.patch
- features/all/r8169-init-phy-return-error.patch
+ features/all/r8169-rtl8168d-1-2-request_firmware-2.patch
+ bugfix/all/radeon-fix-crtc-vblank-update-for-r600.patch