mirror of https://gitee.com/openkylin/linux.git
powerpc/numa: Look for ibm, associativity-reference-points at the root
If we don't find ibm,associativity-reference-points as a child of /rtas, look for it at the root of the tree instead. We use this on Book3E where we have no RTAS but still use the sPAPR conventions for NUMA. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
69b123684b
commit
e70606eb9b
|
@ -311,14 +311,13 @@ EXPORT_SYMBOL_GPL(of_node_to_nid);
|
|||
static int __init find_min_common_depth(void)
|
||||
{
|
||||
int depth;
|
||||
struct device_node *rtas_root;
|
||||
struct device_node *chosen;
|
||||
struct device_node *root;
|
||||
const char *vec5;
|
||||
|
||||
rtas_root = of_find_node_by_path("/rtas");
|
||||
|
||||
if (!rtas_root)
|
||||
return -1;
|
||||
root = of_find_node_by_path("/rtas");
|
||||
if (!root)
|
||||
root = of_find_node_by_path("/");
|
||||
|
||||
/*
|
||||
* This property is a set of 32-bit integers, each representing
|
||||
|
@ -332,7 +331,7 @@ static int __init find_min_common_depth(void)
|
|||
* NUMA boundary and the following are progressively less significant
|
||||
* boundaries. There can be more than one level of NUMA.
|
||||
*/
|
||||
distance_ref_points = of_get_property(rtas_root,
|
||||
distance_ref_points = of_get_property(root,
|
||||
"ibm,associativity-reference-points",
|
||||
&distance_ref_points_depth);
|
||||
|
||||
|
@ -376,11 +375,11 @@ static int __init find_min_common_depth(void)
|
|||
distance_ref_points_depth = MAX_DISTANCE_REF_POINTS;
|
||||
}
|
||||
|
||||
of_node_put(rtas_root);
|
||||
of_node_put(root);
|
||||
return depth;
|
||||
|
||||
err:
|
||||
of_node_put(rtas_root);
|
||||
of_node_put(root);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue