]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2015 11:11:08 +0000 (19:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2015 11:11:08 +0000 (19:11 +0800)
added patches:
drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch
drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch
drm-vmwgfx-fix-fence-event-code.patch

queue-3.10/drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch [new file with mode: 0644]
queue-3.10/drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch [new file with mode: 0644]
queue-3.10/drm-vmwgfx-fix-fence-event-code.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch b/queue-3.10/drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch
new file mode 100644 (file)
index 0000000..fd72bea
--- /dev/null
@@ -0,0 +1,35 @@
+From 5e5c21cac1001089007260c48b0c89ebaace0e71 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 3 Dec 2014 00:03:49 -0500
+Subject: drm/radeon: check the right ring in radeon_evict_flags()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 5e5c21cac1001089007260c48b0c89ebaace0e71 upstream.
+
+Check the that ring we are using for copies is functional
+rather than the GFX ring.  On newer asics we use the DMA
+ring for bo moves.
+
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_ttm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_ttm.c
++++ b/drivers/gpu/drm/radeon/radeon_ttm.c
+@@ -189,7 +189,7 @@ static void radeon_evict_flags(struct tt
+       rbo = container_of(bo, struct radeon_bo, tbo);
+       switch (bo->mem.mem_type) {
+       case TTM_PL_VRAM:
+-              if (rbo->rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ready == false)
++              if (rbo->rdev->ring[radeon_copy_ring_index(rbo->rdev)].ready == false)
+                       radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_CPU);
+               else
+                       radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_GTT);
diff --git a/queue-3.10/drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch b/queue-3.10/drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch
new file mode 100644 (file)
index 0000000..feceba7
--- /dev/null
@@ -0,0 +1,38 @@
+From 410cce2a6b82299b46ff316c6384e789ce275ecb Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 10 Dec 2014 09:42:10 -0500
+Subject: drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 410cce2a6b82299b46ff316c6384e789ce275ecb upstream.
+
+The check was already in place in the dp mode_valid check, but
+radeon_dp_get_dp_link_clock() never returned the high clock
+mode_valid was checking for because that function clipped the
+clock based on the hw capabilities.  Add an explicit check
+in the mode_valid function.
+
+bug:
+https://bugs.freedesktop.org/show_bug.cgi?id=87172
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/atombios_dp.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/atombios_dp.c
++++ b/drivers/gpu/drm/radeon/atombios_dp.c
+@@ -574,6 +574,10 @@ int radeon_dp_mode_valid_helper(struct d
+       struct radeon_connector_atom_dig *dig_connector;
+       int dp_clock;
++      if ((mode->clock > 340000) &&
++          (!radeon_connector_is_dp12_capable(connector)))
++              return MODE_CLOCK_HIGH;
++
+       if (!radeon_connector->con_priv)
+               return MODE_CLOCK_HIGH;
+       dig_connector = radeon_connector->con_priv;
diff --git a/queue-3.10/drm-vmwgfx-fix-fence-event-code.patch b/queue-3.10/drm-vmwgfx-fix-fence-event-code.patch
new file mode 100644 (file)
index 0000000..3ff097f
--- /dev/null
@@ -0,0 +1,58 @@
+From 89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom@vmware.com>
+Date: Tue, 2 Dec 2014 03:36:57 -0800
+Subject: drm/vmwgfx: Fix fence event code
+
+From: Thomas Hellstrom <thellstrom@vmware.com>
+
+commit 89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc upstream.
+
+The commit "vmwgfx: Rework fence event action" introduced a number of bugs
+that are fixed with this commit:
+
+a) A forgotten return stateemnt.
+b) An if statement with identical branches.
+
+Reported-by: Rob Clark <robdclark@gmail.com>
+Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
+Reviewed-by: Sinclair Yeh <syeh@vmware.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_fence.c |   17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+@@ -1049,6 +1049,8 @@ int vmw_event_fence_action_create(struct
+       if (ret != 0)
+               goto out_no_queue;
++      return 0;
++
+ out_no_queue:
+       event->base.destroy(&event->base);
+ out_no_event:
+@@ -1123,17 +1125,10 @@ int vmw_fence_event_ioctl(struct drm_dev
+       BUG_ON(fence == NULL);
+-      if (arg->flags & DRM_VMW_FE_FLAG_REQ_TIME)
+-              ret = vmw_event_fence_action_create(file_priv, fence,
+-                                                  arg->flags,
+-                                                  arg->user_data,
+-                                                  true);
+-      else
+-              ret = vmw_event_fence_action_create(file_priv, fence,
+-                                                  arg->flags,
+-                                                  arg->user_data,
+-                                                  true);
+-
++      ret = vmw_event_fence_action_create(file_priv, fence,
++                                          arg->flags,
++                                          arg->user_data,
++                                          true);
+       if (unlikely(ret != 0)) {
+               if (ret != -ERESTARTSYS)
+                       DRM_ERROR("Failed to attach event to fence.\n");
index b3bfd94ae4449beb089332aa87afae22d800fde2..05e999c9b40deb2d4ab479a27eae82dc8a65e0e0 100644 (file)
@@ -4,3 +4,6 @@ tg3-tg3_disable_ints-using-uninitialized-mailbox-value-to-disable-interrupts.pat
 tcp-do-not-apply-tso-segment-limit-to-non-tso-packets.patch
 alx-fix-alx_poll.patch
 enic-fix-rx-skb-checksum.patch
+drm-vmwgfx-fix-fence-event-code.patch
+drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch
+drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch