Lines Matching refs:caps
878 init_cpu_hwcaps_indirect_list_from_array(const struct arm64_cpu_capabilities *caps) in init_cpu_hwcaps_indirect_list_from_array() argument
880 for (; caps->matches; caps++) { in init_cpu_hwcaps_indirect_list_from_array()
881 if (WARN(caps->capability >= ARM64_NCAPS, in init_cpu_hwcaps_indirect_list_from_array()
882 "Invalid capability %d\n", caps->capability)) in init_cpu_hwcaps_indirect_list_from_array()
884 if (WARN(cpu_hwcaps_ptrs[caps->capability], in init_cpu_hwcaps_indirect_list_from_array()
886 caps->capability)) in init_cpu_hwcaps_indirect_list_from_array()
888 cpu_hwcaps_ptrs[caps->capability] = caps; in init_cpu_hwcaps_indirect_list_from_array()
2574 const struct arm64_cpu_capabilities *caps; in update_cpu_capabilities() local
2578 caps = cpu_hwcaps_ptrs[i]; in update_cpu_capabilities()
2579 if (!caps || !(caps->type & scope_mask) || in update_cpu_capabilities()
2580 cpus_have_cap(caps->capability) || in update_cpu_capabilities()
2581 !caps->matches(caps, cpucap_default_scope(caps))) in update_cpu_capabilities()
2584 if (caps->desc) in update_cpu_capabilities()
2585 pr_info("detected: %s\n", caps->desc); in update_cpu_capabilities()
2586 cpus_set_cap(caps->capability); in update_cpu_capabilities()
2588 if ((scope_mask & SCOPE_BOOT_CPU) && (caps->type & SCOPE_BOOT_CPU)) in update_cpu_capabilities()
2589 set_bit(caps->capability, boot_capabilities); in update_cpu_capabilities()
2624 const struct arm64_cpu_capabilities *caps; in enable_cpu_capabilities() local
2633 caps = cpu_hwcaps_ptrs[i]; in enable_cpu_capabilities()
2634 if (!caps || !(caps->type & scope_mask)) in enable_cpu_capabilities()
2636 num = caps->capability; in enable_cpu_capabilities()
2643 if (boot_scope && caps->cpu_enable) in enable_cpu_capabilities()
2653 caps->cpu_enable(caps); in enable_cpu_capabilities()
2676 const struct arm64_cpu_capabilities *caps; in verify_local_cpu_caps() local
2681 caps = cpu_hwcaps_ptrs[i]; in verify_local_cpu_caps()
2682 if (!caps || !(caps->type & scope_mask)) in verify_local_cpu_caps()
2685 cpu_has_cap = caps->matches(caps, SCOPE_LOCAL_CPU); in verify_local_cpu_caps()
2686 system_has_cap = cpus_have_cap(caps->capability); in verify_local_cpu_caps()
2693 if (!cpu_has_cap && !cpucap_late_cpu_optional(caps)) in verify_local_cpu_caps()
2701 if (caps->cpu_enable) in verify_local_cpu_caps()
2702 caps->cpu_enable(caps); in verify_local_cpu_caps()
2708 if (cpu_has_cap && !cpucap_late_cpu_permitted(caps)) in verify_local_cpu_caps()
2715 smp_processor_id(), caps->capability, in verify_local_cpu_caps()
2716 caps->desc, system_has_cap, cpu_has_cap); in verify_local_cpu_caps()
2718 if (cpucap_panic_on_conflict(caps)) in verify_local_cpu_caps()
2737 __verify_local_elf_hwcaps(const struct arm64_cpu_capabilities *caps) in __verify_local_elf_hwcaps() argument
2740 for (; caps->matches; caps++) in __verify_local_elf_hwcaps()
2741 if (cpus_have_elf_hwcap(caps) && !caps->matches(caps, SCOPE_LOCAL_CPU)) { in __verify_local_elf_hwcaps()
2743 smp_processor_id(), caps->desc); in __verify_local_elf_hwcaps()