[Intel-gfx] [PATCH 08/11] drm/i915: Start exploiting drm_device subclassing

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri May 27 14:15:17 UTC 2016


On 27/05/16 15:00, Chris Wilson wrote:
> Baby step, update to_i915() conversion from drm_device to
> drm_i915_private:
>
>     text	   data	    bss	    dec	    hex	filename
> 1108812	  23207	    416	1132435	 114793	i915.ko (before)
> 1104999	  23207	    416	1128622	 1138ae	i915.ko (after)

This patch on its own? Impressive!

>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>   drivers/gpu/drm/i915/i915_drv.h | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 3f6a3648c50a..b95a10fa002a 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2033,7 +2033,7 @@ struct drm_i915_private {
>
>   static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
>   {
> -	return dev->dev_private;
> +	return container_of(dev, struct drm_i915_private, drm);
>   }
>
>   static inline struct drm_i915_private *dev_to_i915(struct device *dev)
> @@ -2602,7 +2602,7 @@ struct drm_i915_cmd_table {
>   #define INTEL_DEVID(p)	(INTEL_INFO(p)->device_id)
>
>   #define REVID_FOREVER		0xff
> -#define INTEL_REVID(p)	(__I915__(p)->dev->pdev->revision)
> +#define INTEL_REVID(p)	(__I915__(p)->drm.pdev->revision)
>
>   #define GEN_FOREVER (0)
>   /*
> @@ -3439,7 +3439,7 @@ i915_gem_context_lookup(struct drm_i915_file_private *file_priv, u32 id)
>   {
>   	struct i915_gem_context *ctx;
>
> -	lockdep_assert_held(&file_priv->dev_priv->dev->struct_mutex);
> +	lockdep_assert_held(&file_priv->dev_priv->drm.struct_mutex);
>
>   	ctx = idr_find(&file_priv->context_idr, id);
>   	if (!ctx)
> @@ -3455,7 +3455,7 @@ static inline void i915_gem_context_reference(struct i915_gem_context *ctx)
>
>   static inline void i915_gem_context_unreference(struct i915_gem_context *ctx)
>   {
> -	lockdep_assert_held(&ctx->i915->dev->struct_mutex);
> +	lockdep_assert_held(&ctx->i915->drm.struct_mutex);
>   	kref_put(&ctx->ref, i915_gem_context_free);
>   }
>
> @@ -3531,7 +3531,7 @@ void i915_gem_shrinker_cleanup(struct drm_i915_private *dev_priv);
>   /* i915_gem_tiling.c */
>   static inline bool i915_gem_object_needs_bit17_swizzle(struct drm_i915_gem_object *obj)
>   {
> -	struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
> +	struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
>
>   	return dev_priv->mm.bit_6_swizzle_x == I915_BIT_6_SWIZZLE_9_10_17 &&
>   		obj->tiling_mode != I915_TILING_NONE;
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list