Lines Matching refs:md
919 static int scan_pio_for_cfg_handle(struct mdesc_handle *md, u64 pio, in scan_pio_for_cfg_handle() argument
924 mdesc_for_each_arc(arc, md, pio, MDESC_ARC_TYPE_FWD) { in scan_pio_for_cfg_handle()
925 u64 target = mdesc_arc_target(md, arc); in scan_pio_for_cfg_handle()
928 val = mdesc_get_property(md, target, in scan_pio_for_cfg_handle()
936 static int scan_arcs_for_cfg_handle(struct mdesc_handle *md, u64 grp, in scan_arcs_for_cfg_handle() argument
942 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_FWD) { in scan_arcs_for_cfg_handle()
943 u64 target = mdesc_arc_target(md, arc); in scan_arcs_for_cfg_handle()
944 const char *name = mdesc_node_name(md, target); in scan_arcs_for_cfg_handle()
950 val = mdesc_get_property(md, target, "latency", NULL); in scan_arcs_for_cfg_handle()
963 return scan_pio_for_cfg_handle(md, candidate, cfg_handle); in scan_arcs_for_cfg_handle()
969 struct mdesc_handle *md; in of_node_to_nid() local
987 md = mdesc_grab(); in of_node_to_nid()
991 mdesc_for_each_node_by_name(md, grp, "group") { in of_node_to_nid()
992 if (!scan_arcs_for_cfg_handle(md, grp, cfg_handle)) { in of_node_to_nid()
999 mdesc_release(md); in of_node_to_nid()
1031 static int __init grab_mlgroups(struct mdesc_handle *md) in grab_mlgroups() argument
1037 mdesc_for_each_node_by_name(md, node, "memory-latency-group") in grab_mlgroups()
1051 mdesc_for_each_node_by_name(md, node, "memory-latency-group") { in grab_mlgroups()
1057 val = mdesc_get_property(md, node, "latency", NULL); in grab_mlgroups()
1059 val = mdesc_get_property(md, node, "address-match", NULL); in grab_mlgroups()
1061 val = mdesc_get_property(md, node, "address-mask", NULL); in grab_mlgroups()
1072 static int __init grab_mblocks(struct mdesc_handle *md) in grab_mblocks() argument
1078 mdesc_for_each_node_by_name(md, node, "mblock") in grab_mblocks()
1092 mdesc_for_each_node_by_name(md, node, "mblock") { in grab_mblocks()
1096 val = mdesc_get_property(md, node, "base", NULL); in grab_mblocks()
1098 val = mdesc_get_property(md, node, "size", NULL); in grab_mblocks()
1100 val = mdesc_get_property(md, node, in grab_mblocks()
1118 static void __init numa_parse_mdesc_group_cpus(struct mdesc_handle *md, in numa_parse_mdesc_group_cpus() argument
1125 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_BACK) { in numa_parse_mdesc_group_cpus()
1126 u64 target = mdesc_arc_target(md, arc); in numa_parse_mdesc_group_cpus()
1127 const char *name = mdesc_node_name(md, target); in numa_parse_mdesc_group_cpus()
1132 id = mdesc_get_property(md, target, "id", NULL); in numa_parse_mdesc_group_cpus()
1173 static void find_numa_latencies_for_group(struct mdesc_handle *md, u64 grp, in find_numa_latencies_for_group() argument
1178 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_FWD) { in find_numa_latencies_for_group()
1180 u64 target = mdesc_arc_target(md, arc); in find_numa_latencies_for_group()
1192 static int __init numa_attach_mlgroup(struct mdesc_handle *md, u64 grp, in numa_attach_mlgroup() argument
1199 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_FWD) { in numa_attach_mlgroup()
1200 u64 target = mdesc_arc_target(md, arc); in numa_attach_mlgroup()
1230 static int __init numa_parse_mdesc_group(struct mdesc_handle *md, u64 grp, in numa_parse_mdesc_group() argument
1236 numa_parse_mdesc_group_cpus(md, grp, &mask); in numa_parse_mdesc_group()
1249 return numa_attach_mlgroup(md, grp, index); in numa_parse_mdesc_group()
1254 struct mdesc_handle *md = mdesc_grab(); in numa_parse_mdesc() local
1258 node = mdesc_node_by_name(md, MDESC_NODE_NULL, "latency-groups"); in numa_parse_mdesc()
1260 mdesc_release(md); in numa_parse_mdesc()
1264 err = grab_mblocks(md); in numa_parse_mdesc()
1268 err = grab_mlgroups(md); in numa_parse_mdesc()
1273 mdesc_for_each_node_by_name(md, node, "group") { in numa_parse_mdesc()
1274 err = numa_parse_mdesc_group(md, node, count); in numa_parse_mdesc()
1281 mdesc_for_each_node_by_name(md, node, "group") { in numa_parse_mdesc()
1282 find_numa_latencies_for_group(md, node, count); in numa_parse_mdesc()
1306 mdesc_release(md); in numa_parse_mdesc()