[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