ftrp 450 arch/arm64/include/asm/cpufeature.h static inline u64 arm64_ftr_mask(const struct arm64_ftr_bits *ftrp) ftrp 452 arch/arm64/include/asm/cpufeature.h return (u64)GENMASK(ftrp->shift + ftrp->width - 1, ftrp->shift); ftrp 474 arch/arm64/include/asm/cpufeature.h static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val) ftrp 476 arch/arm64/include/asm/cpufeature.h return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign); ftrp 461 arch/arm64/kernel/cpufeature.c static u64 arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp, s64 reg, ftrp 464 arch/arm64/kernel/cpufeature.c u64 mask = arm64_ftr_mask(ftrp); ftrp 467 arch/arm64/kernel/cpufeature.c reg |= (ftr_val << ftrp->shift) & mask; ftrp 471 arch/arm64/kernel/cpufeature.c static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new, ftrp 476 arch/arm64/kernel/cpufeature.c switch (ftrp->type) { ftrp 478 arch/arm64/kernel/cpufeature.c ret = ftrp->safe_val; ftrp 519 arch/arm64/kernel/cpufeature.c const struct arm64_ftr_bits *ftrp; ftrp 524 arch/arm64/kernel/cpufeature.c for (ftrp = reg->ftr_bits; ftrp->width; ftrp++) { ftrp 525 arch/arm64/kernel/cpufeature.c u64 ftr_mask = arm64_ftr_mask(ftrp); ftrp 526 arch/arm64/kernel/cpufeature.c s64 ftr_new = arm64_ftr_value(ftrp, new); ftrp 528 arch/arm64/kernel/cpufeature.c val = arm64_ftr_set_value(ftrp, val, ftr_new); ftrp 531 arch/arm64/kernel/cpufeature.c if (!ftrp->strict) ftrp 533 arch/arm64/kernel/cpufeature.c if (ftrp->visible) ftrp 536 arch/arm64/kernel/cpufeature.c reg->user_val = arm64_ftr_set_value(ftrp, ftrp 538 arch/arm64/kernel/cpufeature.c ftrp->safe_val); ftrp 632 arch/arm64/kernel/cpufeature.c const struct arm64_ftr_bits *ftrp; ftrp 634 arch/arm64/kernel/cpufeature.c for (ftrp = reg->ftr_bits; ftrp->width; ftrp++) { ftrp 635 arch/arm64/kernel/cpufeature.c s64 ftr_cur = arm64_ftr_value(ftrp, reg->sys_val); ftrp 636 arch/arm64/kernel/cpufeature.c s64 ftr_new = arm64_ftr_value(ftrp, new); ftrp 641 arch/arm64/kernel/cpufeature.c ftr_new = arm64_ftr_safe_value(ftrp, ftr_new, ftr_cur); ftrp 642 arch/arm64/kernel/cpufeature.c reg->sys_val = arm64_ftr_set_value(ftrp, reg->sys_val, ftr_new);