mirror of https://gitee.com/openkylin/linux.git
drm/i915: Introduce INTEL_GEN_MASK
Split INTEL_GEN_MASK out of IS_GEN macro, and make it usable within static declarations (unlike compound statements). v2: - s/combound/compound/ (Tvrtko) - Fix whitespace (yes, we need automatic checkpatch.pl) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20170913115255.13851-1-joonas.lahtinen@linux.intel.com
This commit is contained in:
parent
0d0c279405
commit
fe52e597fd
|
@ -2881,23 +2881,21 @@ intel_info(const struct drm_i915_private *dev_priv)
|
|||
#define INTEL_REVID(dev_priv) ((dev_priv)->drm.pdev->revision)
|
||||
|
||||
#define GEN_FOREVER (0)
|
||||
|
||||
#define INTEL_GEN_MASK(s, e) ( \
|
||||
BUILD_BUG_ON_ZERO(!__builtin_constant_p(s)) + \
|
||||
BUILD_BUG_ON_ZERO(!__builtin_constant_p(e)) + \
|
||||
GENMASK((e) != GEN_FOREVER ? (e) - 1 : BITS_PER_LONG - 1, \
|
||||
(s) != GEN_FOREVER ? (s) - 1 : 0) \
|
||||
)
|
||||
|
||||
/*
|
||||
* Returns true if Gen is in inclusive range [Start, End].
|
||||
*
|
||||
* Use GEN_FOREVER for unbound start and or end.
|
||||
*/
|
||||
#define IS_GEN(dev_priv, s, e) ({ \
|
||||
unsigned int __s = (s), __e = (e); \
|
||||
BUILD_BUG_ON(!__builtin_constant_p(s)); \
|
||||
BUILD_BUG_ON(!__builtin_constant_p(e)); \
|
||||
if ((__s) != GEN_FOREVER) \
|
||||
__s = (s) - 1; \
|
||||
if ((__e) == GEN_FOREVER) \
|
||||
__e = BITS_PER_LONG - 1; \
|
||||
else \
|
||||
__e = (e) - 1; \
|
||||
!!((dev_priv)->info.gen_mask & GENMASK((__e), (__s))); \
|
||||
})
|
||||
#define IS_GEN(dev_priv, s, e) \
|
||||
(!!((dev_priv)->info.gen_mask & INTEL_GEN_MASK((s), (e))))
|
||||
|
||||
/*
|
||||
* Return true if revision is in range [since,until] inclusive.
|
||||
|
|
Loading…
Reference in New Issue