From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: Report the actual swizzling back to userspace Date: Fri, 24 Oct 2014 16:39:29 +0200 Message-ID: <20141024143929.GD26941@phenom.ffwll.local> References: <1414149071-8636-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49]) by gabe.freedesktop.org (Postfix) with ESMTP id 88AB46E5DC for ; Fri, 24 Oct 2014 07:39:21 -0700 (PDT) Received: by mail-wg0-f49.google.com with SMTP id x12so1247046wgg.8 for ; Fri, 24 Oct 2014 07:39:20 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1414149071-8636-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Akash Goel List-Id: intel-gfx@lists.freedesktop.org On Fri, Oct 24, 2014 at 12:11:11PM +0100, Chris Wilson wrote: > Userspace cares about whether or not swizzling depends on the page > address for its direct access into bound objects. Extend the get_tiling > ioctl to report the physical swizzling value in addition to the logical > swizzling value so that userspace can accurately determine when it is > possible for manual detiling. > > Signed-off-by: Chris Wilson > Cc: Akash Goel > Cc: Daniel Vetter I wonder whether we should care really, since on gen5+ we know that they agree. Pimp some igt (by skipping if needed) to convince me? -Daniel > --- > drivers/gpu/drm/i915/i915_gem_tiling.c | 1 + > include/uapi/drm/i915_drm.h | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c > index 3c073fb58730..b53ec941f17e 100644 > --- a/drivers/gpu/drm/i915/i915_gem_tiling.c > +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c > @@ -446,6 +446,7 @@ i915_gem_get_tiling(struct drm_device *dev, void *data, > } > > /* Hide bit 17 from the user -- see comment in i915_gem_set_tiling */ > + args->phys_swizzle_mode = args->swizzle_mode; > if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_17) > args->swizzle_mode = I915_BIT_6_SWIZZLE_9; > if (args->swizzle_mode == I915_BIT_6_SWIZZLE_9_10_17) > diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h > index 7615ae68e015..5ff86692e03e 100644 > --- a/include/uapi/drm/i915_drm.h > +++ b/include/uapi/drm/i915_drm.h > @@ -934,6 +934,12 @@ struct drm_i915_gem_get_tiling { > * mmap mapping. > */ > __u32 swizzle_mode; > + > + /** > + * Returned address bit 6 swizzling required for CPU access through > + * mmap mapping whilst bound. > + */ > + __u32 phys_swizzle_mode; > }; > > struct drm_i915_gem_get_aperture { > -- > 2.1.1 > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch