|
|
@@ -62,14 +62,6 @@
|
|
|
#define MIDR_CPU_MODEL_MASK (MIDR_IMPLEMENTOR_MASK | MIDR_PARTNUM_MASK | \
|
|
|
MIDR_ARCHITECTURE_MASK)
|
|
|
|
|
|
-#define MIDR_IS_CPU_MODEL_RANGE(midr, model, rv_min, rv_max) \
|
|
|
-({ \
|
|
|
- u32 _model = (midr) & MIDR_CPU_MODEL_MASK; \
|
|
|
- u32 rv = (midr) & (MIDR_REVISION_MASK | MIDR_VARIANT_MASK); \
|
|
|
- \
|
|
|
- _model == (model) && rv >= (rv_min) && rv <= (rv_max); \
|
|
|
- })
|
|
|
-
|
|
|
#define ARM_CPU_IMP_ARM 0x41
|
|
|
#define ARM_CPU_IMP_APM 0x50
|
|
|
#define ARM_CPU_IMP_CAVIUM 0x43
|
|
|
@@ -153,10 +145,19 @@ struct midr_range {
|
|
|
|
|
|
#define MIDR_ALL_VERSIONS(m) MIDR_RANGE(m, 0, 0, 0xf, 0xf)
|
|
|
|
|
|
+static inline bool midr_is_cpu_model_range(u32 midr, u32 model, u32 rv_min,
|
|
|
+ u32 rv_max)
|
|
|
+{
|
|
|
+ u32 _model = midr & MIDR_CPU_MODEL_MASK;
|
|
|
+ u32 rv = midr & (MIDR_REVISION_MASK | MIDR_VARIANT_MASK);
|
|
|
+
|
|
|
+ return _model == model && rv >= rv_min && rv <= rv_max;
|
|
|
+}
|
|
|
+
|
|
|
static inline bool is_midr_in_range(u32 midr, struct midr_range const *range)
|
|
|
{
|
|
|
- return MIDR_IS_CPU_MODEL_RANGE(midr, range->model,
|
|
|
- range->rv_min, range->rv_max);
|
|
|
+ return midr_is_cpu_model_range(midr, range->model,
|
|
|
+ range->rv_min, range->rv_max);
|
|
|
}
|
|
|
|
|
|
static inline bool
|