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);