Lines Matching refs:md

929 static int scan_pio_for_cfg_handle(struct mdesc_handle *md, u64 pio,  in scan_pio_for_cfg_handle()  argument
934 mdesc_for_each_arc(arc, md, pio, MDESC_ARC_TYPE_FWD) { in scan_pio_for_cfg_handle()
935 u64 target = mdesc_arc_target(md, arc); in scan_pio_for_cfg_handle()
938 val = mdesc_get_property(md, target, in scan_pio_for_cfg_handle()
946 static int scan_arcs_for_cfg_handle(struct mdesc_handle *md, u64 grp, in scan_arcs_for_cfg_handle() argument
952 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_FWD) { in scan_arcs_for_cfg_handle()
953 u64 target = mdesc_arc_target(md, arc); in scan_arcs_for_cfg_handle()
954 const char *name = mdesc_node_name(md, target); in scan_arcs_for_cfg_handle()
960 val = mdesc_get_property(md, target, "latency", NULL); in scan_arcs_for_cfg_handle()
973 return scan_pio_for_cfg_handle(md, candidate, cfg_handle); in scan_arcs_for_cfg_handle()
979 struct mdesc_handle *md; in of_node_to_nid() local
997 md = mdesc_grab(); in of_node_to_nid()
1001 mdesc_for_each_node_by_name(md, grp, "group") { in of_node_to_nid()
1002 if (!scan_arcs_for_cfg_handle(md, grp, cfg_handle)) { in of_node_to_nid()
1009 mdesc_release(md); in of_node_to_nid()
1041 static int __init grab_mlgroups(struct mdesc_handle *md) in grab_mlgroups() argument
1047 mdesc_for_each_node_by_name(md, node, "memory-latency-group") in grab_mlgroups()
1061 mdesc_for_each_node_by_name(md, node, "memory-latency-group") { in grab_mlgroups()
1067 val = mdesc_get_property(md, node, "latency", NULL); in grab_mlgroups()
1069 val = mdesc_get_property(md, node, "address-match", NULL); in grab_mlgroups()
1071 val = mdesc_get_property(md, node, "address-mask", NULL); in grab_mlgroups()
1082 static int __init grab_mblocks(struct mdesc_handle *md) in grab_mblocks() argument
1088 mdesc_for_each_node_by_name(md, node, "mblock") in grab_mblocks()
1102 mdesc_for_each_node_by_name(md, node, "mblock") { in grab_mblocks()
1106 val = mdesc_get_property(md, node, "base", NULL); in grab_mblocks()
1108 val = mdesc_get_property(md, node, "size", NULL); in grab_mblocks()
1110 val = mdesc_get_property(md, node, in grab_mblocks()
1128 static void __init numa_parse_mdesc_group_cpus(struct mdesc_handle *md, in numa_parse_mdesc_group_cpus() argument
1135 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_BACK) { in numa_parse_mdesc_group_cpus()
1136 u64 target = mdesc_arc_target(md, arc); in numa_parse_mdesc_group_cpus()
1137 const char *name = mdesc_node_name(md, target); in numa_parse_mdesc_group_cpus()
1142 id = mdesc_get_property(md, target, "id", NULL); in numa_parse_mdesc_group_cpus()
1160 static int __init numa_attach_mlgroup(struct mdesc_handle *md, u64 grp, in numa_attach_mlgroup() argument
1167 mdesc_for_each_arc(arc, md, grp, MDESC_ARC_TYPE_FWD) { in numa_attach_mlgroup()
1168 u64 target = mdesc_arc_target(md, arc); in numa_attach_mlgroup()
1198 static int __init numa_parse_mdesc_group(struct mdesc_handle *md, u64 grp, in numa_parse_mdesc_group() argument
1204 numa_parse_mdesc_group_cpus(md, grp, &mask); in numa_parse_mdesc_group()
1217 return numa_attach_mlgroup(md, grp, index); in numa_parse_mdesc_group()
1222 struct mdesc_handle *md = mdesc_grab(); in numa_parse_mdesc() local
1226 node = mdesc_node_by_name(md, MDESC_NODE_NULL, "latency-groups"); in numa_parse_mdesc()
1228 mdesc_release(md); in numa_parse_mdesc()
1232 err = grab_mblocks(md); in numa_parse_mdesc()
1236 err = grab_mlgroups(md); in numa_parse_mdesc()
1241 mdesc_for_each_node_by_name(md, node, "group") { in numa_parse_mdesc()
1242 err = numa_parse_mdesc_group(md, node, count); in numa_parse_mdesc()
1257 mdesc_release(md); in numa_parse_mdesc()