diff mbox

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

Message ID 1436869881-32594-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter July 14, 2015, 10:31 a.m. UTC
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.

Cc: Harald Arnesen <harald@skogtun.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reported-by: Harald Arnesen <harald@skogtun.org>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/i915/i915_gem_tiling.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

Comments

Chris Wilson July 14, 2015, 4:15 p.m. UTC | #1
On Tue, Jul 14, 2015 at 12:31:21PM +0200, Daniel Vetter wrote:
> 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.
> 
> Cc: Harald Arnesen <harald@skogtun.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Reported-by: Harald Arnesen <harald@skogtun.org>
> Cc: stable@vger.kernel.org
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

I am annoyed, but under the rules we have to revert this because
userspace (me) fscked up.

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>

But v1 should work in 99.9% of cases.
-Chris
Harald Arnesen July 14, 2015, 5:31 p.m. UTC | #2
Chris Wilson [2015-07-14 18:15]:

> I am annoyed, but under the rules we have to revert this because
> userspace (me) fscked up.
> 
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> But v1 should work in 99.9% of cases.

This is Debian Jessie (admittedly without systemd), hardly an antique
distro. What is so old in my userspace?
Chris Wilson July 14, 2015, 7:58 p.m. UTC | #3
On Tue, Jul 14, 2015 at 07:31:12PM +0200, Harald Arnesen wrote:
> Chris Wilson [2015-07-14 18:15]:
> 
> > I am annoyed, but under the rules we have to revert this because
> > userspace (me) fscked up.
> > 
> > Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
> > 
> > But v1 should work in 99.9% of cases.
> 
> This is Debian Jessie (admittedly without systemd), hardly an antique
> distro. What is so old in my userspace?

You have a new feature that was being developed in conjunction with the
kernel. Only we found a few issues with gen4 in particular, in both the
kernel and userspace.
-Chris
Dave Airlie July 14, 2015, 11:52 p.m. UTC | #4
On 15 July 2015 at 05:58, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Tue, Jul 14, 2015 at 07:31:12PM +0200, Harald Arnesen wrote:
>> Chris Wilson [2015-07-14 18:15]:
>>
>> > I am annoyed, but under the rules we have to revert this because
>> > userspace (me) fscked up.
>> >
>> > Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
>> >
>> > But v1 should work in 99.9% of cases.
>>
>> This is Debian Jessie (admittedly without systemd), hardly an antique
>> distro. What is so old in my userspace?
>
> You have a new feature that was being developed in conjunction with the
> kernel. Only we found a few issues with gen4 in particular, in both the
> kernel and userspace.

If only we had some sort of system of release management that could help us...

Dave.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c
index d61e74a08f82..633bd1fcab69 100644
--- a/drivers/gpu/drm/i915/i915_gem_tiling.c
+++ b/drivers/gpu/drm/i915/i915_gem_tiling.c
@@ -183,18 +183,8 @@  i915_gem_detect_bit_6_swizzle(struct drm_device *dev)
 		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) {