Skip to contentSkip to conversation

Patch "Revert "drm/i915: Declare the swizzling unknown for L-shaped configurations"" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Jul 30, 2015

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

Revert "drm/i915: Declare the swizzling unknown for L-shaped configurations"

to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
revert-drm-i915-declare-the-swizzling-unknown-for-l-shaped-configurations.patch
and it can be found in the queue-4.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From d82c0ba6e306f079407f07003e53c262d683397b Mon Sep 17 00:00:00 2001

From: Daniel Vetter <[email protected]>
Date: Tue, 14 Jul 2015 12:29:27 +0200
Subject: Revert "drm/i915: Declare the swizzling unknown for L-shaped configurations"

From: Daniel Vetter <[email protected]>

commit d82c0ba6e306f079407f07003e53c262d683397b upstream.

This reverts commit 19ee835cdb0b5a8eb11a68f25a51b8039d564488.

It breaks existing old userspace which doesn't handle UNKNOWN swizzling correct. Yes UNKNOWN was a thing back in 2009 and probably still is on some other platforms, but it still pretty clearly broke the testers machine. If we want this we need to extend the ioctl with new paramters that only new userspace looks at.

---
 drivers/gpu/drm/i915/i915_gem_tiling.c |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)
drivers/gpu/drm/i915/i915_gem_tiling.c +1 -11
@@ -183,18 +183,8 @@ i915_gem_detect_bit_6_swizzle(struct drm
 		if (IS_GEN4(dev)) {
 			uint32_t ddc2 = I915_READ(DCC2);
 
-			if (!(ddc2 & DCC2_MODIFIED_ENHANCED_DISABLE)) {
-				/* Since the swizzling may vary within an
-				 * object, we have no idea what the swizzling
-				 * is for any page in particular. Thus we
-				 * cannot migrate tiled pages using the GPU,
-				 * nor can we tell userspace what the exact
-				 * swizzling is for any object.
-				 */
+			if (!(ddc2 & DCC2_MODIFIED_ENHANCED_DISABLE))
 				dev_priv->quirks |= QUIRK_PIN_SWIZZLED_PAGES;
-				swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN;
-				swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN;
-			}
 		}
 
 		if (dcc == 0xffffffff) {

Patches currently in stable-queue which might be from [email protected] are

queue-4.1/drm-vgem-set-unique-to-vgem.patch queue-4.1/drm-dp-mst-take-lock-around-looking-up-the-branch-device-on-hpd-irq.patch queue-4.1/drm-i915-declare-the-swizzling-unknown-for-l-shaped-configurations.patch queue-4.1/drm-dp-mst-make-sure-mst_primary-mstb-is-valid-in-work-function.patch queue-4.1/drm-provide-compat-ioctl-for-addfb2.1.patch queue-4.1/drm-atomic-fix-out-of-bounds-read-in-for_each_-_in_state-helpers.patch queue-4.1/revert-drm-i915-declare-the-swizzling-unknown-for-l-shaped-configurations.patch queue-4.1/drm-i915-forward-all-core-drm-ioctls-to-core-compat-handling.patch queue-4.1/drm-stop-resetting-connector-state-to-unknown.patch queue-4.1/drm-i915-snapshot-seqno-of-most-recently-submitted-request.patch queue-4.1/drm-i915-use-two-32bit-reads-for-select-64bit-reg_read-ioctls.patch queue-4.1/drm-rockchip-use-drm_gem_mmap-helpers.patch queue-4.1/drm-dp-mst-close-deadlock-in-connector-destruction.patch queue-4.1/drm-add-a-check-for-x-y-in-drm_mode_setcrtc.patch