From 3209d7cf9ea8193e9ee204ce6cf868a391da1e65 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 22 Dec 2009 01:29:59 +0000 Subject: [PATCH] radeon: fix crtc vblank update for r600 (regression in 2.6.32.2) svn path=/dists/trunk/linux-2.6/; revision=14804 --- debian/changelog | 1 + ...deon-fix-crtc-vblank-update-for-r600.patch | 46 +++++++++++++++++++ debian/patches/series/3 | 1 + 3 files changed, 48 insertions(+) create mode 100644 debian/patches/bugfix/all/radeon-fix-crtc-vblank-update-for-r600.patch diff --git a/debian/changelog b/debian/changelog index 7579d6029..3f7edb717 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 header in ; fixes FTBFS * r8169: Allow RTL8168D v1 and v2 to be used without firmware files diff --git a/debian/patches/bugfix/all/radeon-fix-crtc-vblank-update-for-r600.patch b/debian/patches/bugfix/all/radeon-fix-crtc-vblank-update-for-r600.patch new file mode 100644 index 000000000..8a11df6c1 --- /dev/null +++ b/debian/patches/bugfix/all/radeon-fix-crtc-vblank-update-for-r600.patch @@ -0,0 +1,46 @@ +From: Dave Airlie +To: stable@kernel.org +Cc: linux-kernel@vger.kernel.org, dri-devel@lists.sf.net, Dave Airlie +Subject: [PATCH] stable - drm/radeon/kms: fix crtc vblank update for r600 +Date: Mon, 21 Dec 2009 14:33:52 +1000 + +From: Dave Airlie + +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 +--- + 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 + diff --git a/debian/patches/series/3 b/debian/patches/series/3 index 874da3392..38b73bc55 100644 --- a/debian/patches/series/3 +++ b/debian/patches/series/3 @@ -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