Lines Matching defs:leaf
45 static inline bool topo_subleaf(struct topo_scan *tscan, u32 leaf, u32 subleaf,
59 u32 level : 8, // Current topology level. Same as sub leaf number
66 switch (leaf) {
73 cpuid_subleaf(leaf, subleaf, &sl);
79 pr_err_once("Topology: leaf 0x%x:%d Unknown domain type %u\n",
80 leaf, subleaf, sl.type);
96 pr_warn_once(FW_BUG "CPUID leaf 0x%x subleaf %d APIC ID mismatch %x != %x\n",
97 leaf, subleaf, tscan->c->topo.initial_apicid, sl.x2apic_id);
104 static bool parse_topology_leaf(struct topo_scan *tscan, u32 leaf)
110 for (subleaf = 0, last_dom = 0; topo_subleaf(tscan, leaf, subleaf, &last_dom); subleaf++);
124 pr_warn_once(FW_BUG "CPUID leaf 0x%x subleaf 0 has shift level 0 but %u CPUs. Fixing it up.\n",
125 leaf, tscan->dom_ncpus[TOPO_SMT_DOMAIN]);
135 /* Intel: Try leaf 0x1F first. */
139 /* AMD: Try leaf 0x80000026 first. */
143 /* Intel/AMD: Fall back to leaf 0xB if available */