[kernel] r16429 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/bugfix/x86 patches/series
Ben Hutchings
benh at alioth.debian.org
Mon Oct 11 00:49:25 UTC 2010
Author: benh
Date: Mon Oct 11 00:49:08 2010
New Revision: 16429
Log:
Add drm changes from 2.6.32.22+drm33.10
Added:
dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-initialize-set_surface_reg-for-rs600.patch
dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-release-AGP-bridge-at-suspend.patch
dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Don-t-touch-PORT_HOTPLUG_EN-in-intel_dp_detect.patch
dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Kill-dangerous-pending-flip-debugging.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/25
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Mon Oct 11 00:35:29 2010 (r16428)
+++ dists/sid/linux-2.6/debian/changelog Mon Oct 11 00:49:08 2010 (r16429)
@@ -12,6 +12,11 @@
* [x86] KVM: SVM: Fix wrong intercept masks on 32 bit (Closes: #599507)
* e1000: fix Tx hangs by disabling 64-bit DMA (Closes: #518182)
* rt2x00: Fix calculation of required TX headroom (Closes: #599395)
+ * Add drm changes from 2.6.32.22+drm33.10:
+ - i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()
+ - i915: Kill dangerous pending-flip debugging
+ - radeon: release AGP bridge at suspend
+ - radeon: initialize set_surface_reg for rs600 asic
[ Stephen R. Marenka ]
* m68k: fix missing io macros.
Added: dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-initialize-set_surface_reg-for-rs600.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-initialize-set_surface_reg-for-rs600.patch Mon Oct 11 00:49:08 2010 (r16429)
@@ -0,0 +1,34 @@
+From 3ae83753bc5ed8b204991688c9cce2ad69a71e7a Mon Sep 17 00:00:00 2001
+From: Jerome Glisse <jglisse at redhat.com>
+Date: Fri, 26 Feb 2010 19:14:12 +0000
+Subject: [PATCH 4/4] drm/radeon/kms: initialize set_surface_reg reg for rs600 asic
+
+commit 32b3c2abaf8c61c80a8b02071c73f05252122ffe upstream
+
+rs600 asic was missing set_surface_reg callback leading to
+oops.
+
+Signed-off-by: Jerome Glisse <jglisse at redhat.com>
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+(cherry-picked from commit 32b3c2abaf8c61c80a8b02071c73f05252122ffe upstream)
+Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
+---
+ drivers/gpu/drm/radeon/radeon_asic.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
+index 05ee1ae..ad368b9 100644
+--- a/drivers/gpu/drm/radeon/radeon_asic.h
++++ b/drivers/gpu/drm/radeon/radeon_asic.h
+@@ -322,6 +322,8 @@ static struct radeon_asic rs600_asic = {
+ .set_memory_clock = &radeon_atom_set_memory_clock,
+ .set_pcie_lanes = NULL,
+ .set_clock_gating = &radeon_atom_set_clock_gating,
++ .set_surface_reg = r100_set_surface_reg,
++ .clear_surface_reg = r100_clear_surface_reg,
+ .bandwidth_update = &rs600_bandwidth_update,
+ .hpd_init = &rs600_hpd_init,
+ .hpd_fini = &rs600_hpd_fini,
+--
+1.7.1
+
Added: dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-release-AGP-bridge-at-suspend.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/radeon-kms-release-AGP-bridge-at-suspend.patch Mon Oct 11 00:49:08 2010 (r16429)
@@ -0,0 +1,64 @@
+From bdbc27a82218447177e99bc0ea788454b76e8037 Mon Sep 17 00:00:00 2001
+From: Jerome Glisse <jglisse at redhat.com>
+Date: Fri, 21 May 2010 18:48:54 +0200
+Subject: [PATCH 3/4] drm/radeon/kms: release AGP bridge at suspend
+
+commit 10b06122afcc78468bd1d009633cb71e528acdc5 upstream.
+
+I think it's good to release the AGP bridge at suspend
+and reacquire it at resume. Also fix :
+https://bugzilla.kernel.org/show_bug.cgi?id=15969
+
+Signed-off-by: Jerome Glisse <jglisse at redhat.com>
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+(cherry-picked from commit 9f819608412a8195c82ea8fb94b5755346f1b4ac 2.6.34.1)
+Signed-off-by: Steve Conklin <sconklin at canonical.com>
+Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
+---
+ drivers/gpu/drm/radeon/radeon.h | 1 +
+ drivers/gpu/drm/radeon/radeon_agp.c | 5 +++++
+ drivers/gpu/drm/radeon/radeon_device.c | 2 ++
+ 3 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
+index c0356bb..6a439d9 100644
+--- a/drivers/gpu/drm/radeon/radeon.h
++++ b/drivers/gpu/drm/radeon/radeon.h
+@@ -539,6 +539,7 @@ typedef int (*radeon_packet3_check_t)(struct radeon_cs_parser *p,
+ */
+ int radeon_agp_init(struct radeon_device *rdev);
+ void radeon_agp_resume(struct radeon_device *rdev);
++void radeon_agp_suspend(struct radeon_device *rdev);
+ void radeon_agp_fini(struct radeon_device *rdev);
+
+
+diff --git a/drivers/gpu/drm/radeon/radeon_agp.c b/drivers/gpu/drm/radeon/radeon_agp.c
+index c0681a5..60d0411 100644
+--- a/drivers/gpu/drm/radeon/radeon_agp.c
++++ b/drivers/gpu/drm/radeon/radeon_agp.c
+@@ -268,3 +268,8 @@ void radeon_agp_fini(struct radeon_device *rdev)
+ }
+ #endif
+ }
++
++void radeon_agp_suspend(struct radeon_device *rdev)
++{
++ radeon_agp_fini(rdev);
++}
+diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
+index 509ba3f..ac47fd0 100644
+--- a/drivers/gpu/drm/radeon/radeon_device.c
++++ b/drivers/gpu/drm/radeon/radeon_device.c
+@@ -783,6 +783,8 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state)
+ /* evict remaining vram memory */
+ radeon_bo_evict_vram(rdev);
+
++ radeon_agp_suspend(rdev);
++
+ pci_save_state(dev->pdev);
+ if (state.event == PM_EVENT_SUSPEND) {
+ /* Shut down the device */
+--
+1.7.1
+
Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Don-t-touch-PORT_HOTPLUG_EN-in-intel_dp_detect.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Don-t-touch-PORT_HOTPLUG_EN-in-intel_dp_detect.patch Mon Oct 11 00:49:08 2010 (r16429)
@@ -0,0 +1,49 @@
+From 67b97855b649b158718154dc70f442a23d2e174c Mon Sep 17 00:00:00 2001
+From: Karsten Wiese <fzuuzf at googlemail.com>
+Date: Sat, 27 Mar 2010 22:48:33 +0100
+Subject: [PATCH 1/4] drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()
+
+commit 6e0032f0ae4440e75256bee11b163552cae21962 upstream.
+
+PORT_HOTPLUG_EN has allready been setup in i915_driver_irq_postinstall(),
+when intel_dp_detect() runs.
+
+Delete the DP[BCD]_HOTPLUG_INT_EN defines, they are not referenced anymore.
+
+I found this while searching for a fix for
+ https://bugzilla.redhat.com/show_bug.cgi?id=528312
+
+Signed-off-by: Karsten Wiese <fzu at wemgehoertderstaat.de>
+Signed-off-by: Eric Anholt <eric at anholt.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+(cherry-picked from commit 36346c14bde58f34c0a2df91635895f943eeb58b 2.6.34.1)
+Signed-off-by: Steve Conklin <sconklin at canonical.com>
+Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
+---
+ drivers/gpu/drm/i915/intel_dp.c | 10 ----------
+ 1 files changed, 0 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
+index 63ea21e..2bbe4ea 100644
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -1249,16 +1249,6 @@ intel_dp_detect(struct drm_connector *connector)
+ if (IS_IRONLAKE(dev))
+ return ironlake_dp_detect(connector);
+
+- temp = I915_READ(PORT_HOTPLUG_EN);
+-
+- I915_WRITE(PORT_HOTPLUG_EN,
+- temp |
+- DPB_HOTPLUG_INT_EN |
+- DPC_HOTPLUG_INT_EN |
+- DPD_HOTPLUG_INT_EN);
+-
+- POSTING_READ(PORT_HOTPLUG_EN);
+-
+ switch (dp_priv->output_reg) {
+ case DP_B:
+ bit = DPB_HOTPLUG_INT_STATUS;
+--
+1.7.1
+
Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Kill-dangerous-pending-flip-debugging.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Kill-dangerous-pending-flip-debugging.patch Mon Oct 11 00:49:08 2010 (r16429)
@@ -0,0 +1,53 @@
+From 04cb152f41b7b8d1e177896c4af6ed9aaa8d1b57 Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris at chris-wilson.co.uk>
+Date: Sat, 15 May 2010 09:57:03 +0100
+Subject: [PATCH 2/4] drm/i915: Kill dangerous pending-flip debugging
+
+commit 9908ff736adf261e749b4887486a32ffa209304c upstream.
+
+We can, by virtue of a vblank interrupt firing in the middle of setting
+up the unpin work (i.e. after we set the unpin_work field and before we
+write to the ringbuffer) enter intel_finish_page_flip() prior to
+receiving the pending flip notification. Therefore we can expect to hit
+intel_finish_page_flip() under normal circumstances without a pending flip
+and even without installing the pending_flip_obj. This is exacerbated by
+aperture thrashing whilst binding the framebuffer
+
+References:
+
+ Bug 28079 - "glresize" causes kernel panic in intel_finish_page_flip.
+ https://bugs.freedesktop.org/show_bug.cgi?id=28079
+
+Reported-by: Nick Bowler <nbowler at draconx.ca>
+Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
+Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+Signed-off-by: Eric Anholt <eric at anholt.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+(cherry-picked from commit 36346c14bde58f34c0a2df91635895f943eeb58b 2.6.34.1)
+Signed-off-by: Steve Conklin <sconklin at canonical.com>
+Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
+---
+ drivers/gpu/drm/i915/intel_display.c | 6 ------
+ 1 files changed, 0 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 0d6641f..6af71e8 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -4123,12 +4123,6 @@ static void do_intel_finish_page_flip(struct drm_device *dev,
+ spin_lock_irqsave(&dev->event_lock, flags);
+ work = intel_crtc->unpin_work;
+ if (work == NULL || !work->pending) {
+- if (work && !work->pending) {
+- obj_priv = work->pending_flip_obj->driver_private;
+- DRM_DEBUG_DRIVER("flip finish: %p (%d) not pending?\n",
+- obj_priv,
+- atomic_read(&obj_priv->pending_flip));
+- }
+ spin_unlock_irqrestore(&dev->event_lock, flags);
+ return;
+ }
+--
+1.7.1
+
Modified: dists/sid/linux-2.6/debian/patches/series/25
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/25 Mon Oct 11 00:35:29 2010 (r16428)
+++ dists/sid/linux-2.6/debian/patches/series/25 Mon Oct 11 00:49:08 2010 (r16429)
@@ -11,3 +11,7 @@
+ bugfix/all/rt2x00-Centralize-setting-of-extra-TX-headroom-reque.patch
+ bugfix/all/rt2x00-use-correct-headroom-for-transmission.patch
+ bugfix/all/rt2x00-Properly-request-tx-headroom-for-alignment-op.patch
++ bugfix/x86/drm-i915-Don-t-touch-PORT_HOTPLUG_EN-in-intel_dp_detect.patch
++ bugfix/x86/drm-i915-Kill-dangerous-pending-flip-debugging.patch
++ bugfix/all/radeon-kms-release-AGP-bridge-at-suspend.patch
++ bugfix/all/radeon-kms-initialize-set_surface_reg-for-rs600.patch
More information about the Kernel-svn-changes
mailing list