All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 15/16] drm/i915: Repack fence tiling mode and stride into a single integer
Date: Thu, 04 Aug 2016 14:17:22 +0300	[thread overview]
Message-ID: <1470309442.3633.49.camel@linux.intel.com> (raw)
In-Reply-To: <1470075758-13871-16-git-send-email-chris@chris-wilson.co.uk>

On ma, 2016-08-01 at 19:22 +0100, Chris Wilson wrote:
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2215,13 +2215,10 @@ struct drm_i915_gem_object {
>  
>  	atomic_t frontbuffer_bits;
>  
> -	/**
> -	 * Current tiling mode for the object.
> -	 */
> -	unsigned int tiling_mode;
> -
>  	/** Current tiling stride for the object, if it's tiled. */
> -	uint32_t stride;
> +	unsigned int tiling_and_stride;
> +#define TILING_MASK 0x3

No magics and add appropriate BUILD_BUG_ON too when stuffing bits
inside same variable.

#define TILING_MASK (BIT(31 - __builtin_clz(I915_TILING_LAST)) -1)

or something :P

> +#define STRIDE_MASK (~TILING_MASK)
>  
>  	unsigned int has_wc_mmap;
>  	/** Count of VMA actually bound by this object */
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2465,9 +2465,8 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
>  		return false;
>  	}
>  
> -	obj->tiling_mode = plane_config->tiling;
> -	if (obj->tiling_mode == I915_TILING_X)
> -		obj->stride = fb->pitches[0];
> +	if (plane_config->tiling == I915_TILING_X)
> +		obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;

This is not equivalent code.

>  	} else if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) {
> @@ -14919,15 +14918,15 @@ static int intel_framebuffer_init(struct drm_device *dev,
>  	if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) {
>  		/* Enforce that fb modifier and tiling mode match, but only for
>  		 * X-tiled. This is needed for FBC. */
> -		if (!!(obj->tiling_mode == I915_TILING_X) !=
> +		if (!!(i915_gem_object_get_tiling(obj) == I915_TILING_X) !=

A note, !! are redundant as == returns bool already. Could remove while
touching.

Regards, Joonas

>  		    !!(mode_cmd->modifier[0] == I915_FORMAT_MOD_X_TILED)) {
>  			DRM_DEBUG("tiling_mode doesn't match fb modifier\n");
>  			return -EINVAL;
>  		}
>  	} else {

-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-08-04 11:17 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01 18:22 Put RCU request lookup to use Chris Wilson
2016-08-01 18:22 ` [PATCH 01/16] drm/i915: Introduce i915_gem_active_wait_unlocked() Chris Wilson
2016-08-03 11:41   ` Joonas Lahtinen
2016-08-03 11:56     ` Chris Wilson
2016-08-03 12:04       ` Chris Wilson
2016-08-03 13:30         ` Joonas Lahtinen
2016-08-03 13:43           ` Chris Wilson
2016-08-04 11:51             ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 02/16] drm/i915: Convert non-blocking waits for requests over to using RCU Chris Wilson
2016-08-03 13:23   ` Joonas Lahtinen
2016-08-03 13:36     ` Chris Wilson
2016-08-03 13:41       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 03/16] drm/i915: Convert non-blocking userptr " Chris Wilson
2016-08-03 13:27   ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 04/16] drm/i915/userptr: Remove superfluous interruptible=false on waiting Chris Wilson
2016-08-03 13:43   ` Joonas Lahtinen
2016-08-03 13:49     ` Chris Wilson
2016-08-04 11:53       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 05/16] drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex Chris Wilson
2016-08-01 19:28   ` Chris Wilson
2016-08-04 11:50     ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 06/16] drm/gem/shrinker: Wait before acquiring struct_mutex under oom Chris Wilson
2016-08-04  6:46   ` Joonas Lahtinen
2016-08-04  6:52     ` Chris Wilson
2016-08-01 18:22 ` [PATCH 07/16] drm/i915: Tidy generation of the GTT mmap offset Chris Wilson
2016-08-04  7:25   ` Joonas Lahtinen
2016-08-04  7:30     ` Chris Wilson
2016-08-04 11:57       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 08/16] drm/i915: Remove unused no-shrinker-steal Chris Wilson
2016-08-04  7:26   ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 09/16] drm/i915: Do a nonblocking wait first in pread/pwrite Chris Wilson
2016-08-04  7:53   ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 10/16] drm/i915: Remove (struct_mutex) locking for wait-ioctl Chris Wilson
2016-08-04  8:26   ` Joonas Lahtinen
2016-08-04  8:37     ` Chris Wilson
2016-08-04 10:02     ` Chris Wilson
2016-08-04 12:00       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 11/16] drm/i915: Remove (struct_mutex) locking for busy-ioctl Chris Wilson
2016-08-04 10:25   ` Joonas Lahtinen
2016-08-04 10:30     ` Chris Wilson
2016-08-05  7:05   ` Joonas Lahtinen
2016-08-05  7:34     ` Chris Wilson
2016-08-05  8:06       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 12/16] drm/i915: Reduce locking inside swfinish ioctl Chris Wilson
2016-08-04 10:32   ` Joonas Lahtinen
2016-08-04 10:48     ` Chris Wilson
2016-08-01 18:22 ` [PATCH 13/16] drm/i915: Remove pinned check from madvise ioctl Chris Wilson
2016-08-04 10:36   ` Joonas Lahtinen
2016-08-04 10:42     ` Chris Wilson
2016-08-04 11:47       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 14/16] drm/i915: Remove locking for get_tiling Chris Wilson
2016-08-04 10:40   ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 15/16] drm/i915: Repack fence tiling mode and stride into a single integer Chris Wilson
2016-08-04 11:17   ` Joonas Lahtinen [this message]
2016-08-04 11:34     ` Chris Wilson
2016-08-04 11:36       ` Joonas Lahtinen
2016-08-04 11:41     ` Chris Wilson
2016-08-04 12:02       ` Joonas Lahtinen
2016-08-01 18:22 ` [PATCH 16/16] drm/i915: Assert that the request hasn't been retired Chris Wilson
2016-08-04 11:18   ` Joonas Lahtinen
2016-08-02  5:00 ` ✗ Ro.CI.BAT: failure for series starting with [01/16] drm/i915: Introduce i915_gem_active_wait_unlocked() Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1470309442.3633.49.camel@linux.intel.com \
    --to=joonas.lahtinen@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.