[Intel-gfx] [PATCH 2/2] drm/i915: Tidy the macro casting by using an inline function

Paulo Zanoni przanoni at gmail.com
Fri Aug 2 18:22:51 CEST 2013


2013/8/1 Chris Wilson <chris at chris-wilson.co.uk>:
> Some of our macros we trying to convert from an drm_device to a
> drm_i915_private and then use the pointer inline. This is not only
> cumbersome but prone to error. Replacing it with a typesafe function
> should help catch those errors in future.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index d27a82a..6d1736f 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1224,6 +1224,11 @@ typedef struct drm_i915_private {
>         struct i915_ums_state ums;
>  } drm_i915_private_t;
>
> +inline static struct drm_i915_private *to_i915(const struct drm_device *dev)
> +{
> +       return dev->dev_private;
> +}
> +
>  /* Iterate over initialised rings */
>  #define for_each_ring(ring__, dev_priv__, i__) \
>         for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \
> @@ -1498,7 +1503,7 @@ struct drm_i915_file_private {
>         struct i915_ctx_hang_stats hang_stats;
>  };
>
> -#define INTEL_INFO(dev)        (((struct drm_i915_private *) (dev)->dev_private)->info)
> +#define INTEL_INFO(dev)        (to_i915(dev)->info)
>
>  #define IS_I830(dev)           ((dev)->pci_device == 0x3577)
>  #define IS_845G(dev)           ((dev)->pci_device == 0x2562)
> @@ -1548,7 +1553,7 @@ struct drm_i915_file_private {
>  #define HAS_BLT(dev)            (INTEL_INFO(dev)->has_blt_ring)
>  #define HAS_VEBOX(dev)          (INTEL_INFO(dev)->has_vebox_ring)
>  #define HAS_LLC(dev)            (INTEL_INFO(dev)->has_llc)
> -#define HAS_WT(dev)            (IS_HASWELL(dev) && ((struct drm_i915_private *)(dev)->dev_private)->ellc_size)
> +#define HAS_WT(dev)            (IS_HASWELL(dev) && to_i915(dev)->ellc_size)
>  #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws)
>
>  #define HAS_HW_CONTEXTS(dev)   (INTEL_INFO(dev)->gen >= 5)
> @@ -1593,7 +1598,7 @@ struct drm_i915_file_private {
>  #define INTEL_PCH_LPT_DEVICE_ID_TYPE           0x8c00
>  #define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE                0x9c00
>
> -#define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type)
> +#define INTEL_PCH_TYPE(dev) (to_i915(dev)->pch_type)
>  #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
>  #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT)
>  #define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX)
> --
> 1.8.4.rc0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni



More information about the Intel-gfx mailing list