From: Greg Kroah-Hartman Date: Mon, 19 Jan 2015 11:11:08 +0000 (+0800) Subject: 3.10-stable patches X-Git-Tag: v3.10.66~58 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c6fe220e7cc3cfe583ff829f12169c1972b4a98b;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches 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 --- 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 index 00000000000..fd72beab704 --- /dev/null +++ b/queue-3.10/drm-radeon-check-the-right-ring-in-radeon_evict_flags.patch @@ -0,0 +1,35 @@ +From 5e5c21cac1001089007260c48b0c89ebaace0e71 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +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 + +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 +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..feceba7b8df --- /dev/null +++ b/queue-3.10/drm-radeon-properly-filter-dp1.2-4k-modes-on-non-dp1.2-hw.patch @@ -0,0 +1,38 @@ +From 410cce2a6b82299b46ff316c6384e789ce275ecb Mon Sep 17 00:00:00 2001 +From: Alex Deucher +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 + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..3ff097ffb53 --- /dev/null +++ b/queue-3.10/drm-vmwgfx-fix-fence-event-code.patch @@ -0,0 +1,58 @@ +From 89669e7a7f96be3ee8d9a22a071d7c0d3b4428fc Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom +Date: Tue, 2 Dec 2014 03:36:57 -0800 +Subject: drm/vmwgfx: Fix fence event code + +From: Thomas Hellstrom + +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 +Signed-off-by: Thomas Hellstrom +Reviewed-by: Jakob Bornecrantz +Reviewed-by: Sinclair Yeh +Signed-off-by: Greg Kroah-Hartman + +--- + 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"); diff --git a/queue-3.10/series b/queue-3.10/series index b3bfd94ae44..05e999c9b40 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -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