Home
last modified time | relevance | path

Searched refs:ftrp (Results 1 – 2 of 2) sorted by relevance

/arch/arm64/include/asm/
Dcpufeature.h143 static inline u64 arm64_ftr_mask(struct arm64_ftr_bits *ftrp) in arm64_ftr_mask() argument
145 return (u64)GENMASK(ftrp->shift + ftrp->width - 1, ftrp->shift); in arm64_ftr_mask()
148 static inline s64 arm64_ftr_value(struct arm64_ftr_bits *ftrp, u64 val) in arm64_ftr_value() argument
150 return ftrp->sign ? in arm64_ftr_value()
151 cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width) : in arm64_ftr_value()
152 cpuid_feature_extract_unsigned_field_width(val, ftrp->shift, ftrp->width); in arm64_ftr_value()
/arch/arm64/kernel/
Dcpufeature.c330 static u64 arm64_ftr_set_value(struct arm64_ftr_bits *ftrp, s64 reg, s64 ftr_val) in arm64_ftr_set_value() argument
332 u64 mask = arm64_ftr_mask(ftrp); in arm64_ftr_set_value()
335 reg |= (ftr_val << ftrp->shift) & mask; in arm64_ftr_set_value()
339 static s64 arm64_ftr_safe_value(struct arm64_ftr_bits *ftrp, s64 new, s64 cur) in arm64_ftr_safe_value() argument
343 switch (ftrp->type) { in arm64_ftr_safe_value()
345 ret = ftrp->safe_val; in arm64_ftr_safe_value()
391 struct arm64_ftr_bits *ftrp; in init_cpu_ftr_reg() local
396 for (ftrp = reg->ftr_bits; ftrp->width; ftrp++) { in init_cpu_ftr_reg()
397 s64 ftr_new = arm64_ftr_value(ftrp, new); in init_cpu_ftr_reg()
399 val = arm64_ftr_set_value(ftrp, val, ftr_new); in init_cpu_ftr_reg()
[all …]