[Intel-gfx] [PATCH v2 18/21] drm/i915: Start exploiting drm_device subclassing

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Mon May 30 10:38:25 UTC 2016


On ma, 2016-05-30 at 09:38 +0100, 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)
> 
> 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>

Reviewed-by: 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 1fd7a21243ae..fe121a8af146 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;
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list