Lines Matching refs:mod

121 mc_add_ranks(topo_mod_t *mod, tnode_t *dnode, nvlist_t *auth, int dimm,  in mc_add_ranks()  argument
137 if (topo_node_range_create(mod, dnode, RANK, rank, in mc_add_ranks()
139 whinge(mod, NULL, "mc_add_ranks: node range create failed" in mc_add_ranks()
144 fmri = topo_mod_hcfmri(mod, dnode, FM_HC_SCHEME_VERSION, in mc_add_ranks()
147 whinge(mod, NULL, in mc_add_ranks()
151 if ((rnode = topo_node_bind(mod, dnode, RANK, rank, in mc_add_ranks()
154 whinge(mod, NULL, "mc_add_ranks: node bind failed" in mc_add_ranks()
160 if (topo_method_register(mod, rnode, rank_methods) < 0) in mc_add_ranks()
161 whinge(mod, &err, "mc_add_ranks: " in mc_add_ranks()
164 if (! is_xpv() && topo_method_register(mod, rnode, in mc_add_ranks()
166 whinge(mod, &err, "mc_add_ranks: " in mc_add_ranks()
171 if (FM_AWARE_SMBIOS(mod)) in mc_add_ranks()
179 (void) nvprop_add(mod, nvp, PGNAME(RANK), rnode); in mc_add_ranks()
186 mc_add_dimms(topo_mod_t *mod, uint16_t chip_smbid, tnode_t *pnode, in mc_add_dimms() argument
205 if (topo_node_range_create(mod, pnode, DIMM, 0, in mc_add_dimms()
207 whinge(mod, NULL, in mc_add_dimms()
235 if (FM_AWARE_SMBIOS(mod)) { in mc_add_dimms()
239 smbid = memnode_to_smbiosid(mod, chip_smbid, in mc_add_dimms()
242 serial = (char *)chip_serial_smbios_get(mod, in mc_add_dimms()
245 part = (char *)chip_part_smbios_get(mod, in mc_add_dimms()
248 rev = (char *)chip_rev_smbios_get(mod, in mc_add_dimms()
252 fmri = topo_mod_hcfmri(mod, pnode, FM_HC_SCHEME_VERSION, in mc_add_dimms()
255 whinge(mod, NULL, in mc_add_dimms()
259 if ((dnode = topo_node_bind(mod, pnode, DIMM, dimm_number, in mc_add_dimms()
262 whinge(mod, NULL, "mc_add_dimms: node bind failed" in mc_add_dimms()
267 if (!FM_AWARE_SMBIOS(mod)) in mc_add_dimms()
268 if (topo_method_register(mod, dnode, dimm_methods) < 0) in mc_add_dimms()
269 whinge(mod, NULL, "mc_add_dimms: " in mc_add_dimms()
280 (void) nvprop_add(mod, nvp, PGNAME(DIMM), in mc_add_dimms()
285 if (FM_AWARE_SMBIOS(mod)) { in mc_add_dimms()
291 label = (char *)chip_label_smbios_get(mod, in mc_add_dimms()
297 if (FM_AWARE_SMBIOS(mod)) in mc_add_dimms()
298 topo_mod_strfree(mod, label); in mc_add_dimms()
305 mc_add_ranks(mod, dnode, auth, dimm_number, ranks_nvp, in mc_add_dimms()
312 mc_add_channel(topo_mod_t *mod, uint16_t chip_smbid, tnode_t *pnode, in mc_add_channel() argument
323 if (mkrsrc(mod, pnode, DRAMCHANNEL, channel, auth, &fmri) != 0) { in mc_add_channel()
324 whinge(mod, NULL, "mc_add_channel: mkrsrc failed\n"); in mc_add_channel()
327 if ((mc_channel = topo_node_bind(mod, pnode, DRAMCHANNEL, channel, in mc_add_channel()
329 whinge(mod, NULL, "mc_add_channel: node bind failed for %s\n", in mc_add_channel()
338 if (FM_AWARE_SMBIOS(mod)) in mc_add_channel()
343 mc_add_dimms(mod, chip_smbid, mc_channel, auth, dimm_nvl, in mc_add_channel()
350 (void) nvprop_add(mod, nvp, PGNAME(CHAN), in mc_add_channel()
359 mc_nb_create(topo_mod_t *mod, uint16_t chip_smbid, tnode_t *pnode, in mc_nb_create() argument
377 whinge(mod, NULL, in mc_nb_create()
401 if (topo_node_range_create(mod, pnode, name, 0, nmc-1) < 0) { in mc_nb_create()
402 whinge(mod, NULL, in mc_nb_create()
408 if (mkrsrc(mod, pnode, name, i, auth, &fmri) != 0) { in mc_nb_create()
409 whinge(mod, NULL, "mc_nb_create: mkrsrc failed\n"); in mc_nb_create()
412 if ((mcnode = topo_node_bind(mod, pnode, name, i, in mc_nb_create()
414 whinge(mod, NULL, "mc_nb_create: node bind failed" in mc_nb_create()
424 if (FM_AWARE_SMBIOS(mod)) in mc_nb_create()
427 if (topo_node_range_create(mod, mcnode, DRAMCHANNEL, channel, in mc_nb_create()
429 whinge(mod, NULL, in mc_nb_create()
434 if (mc_add_channel(mod, chip_smbid, mcnode, channel, in mc_nb_create()
450 (void) nvprop_add(mod, nvp, PGNAME(MCT), in mc_nb_create()
460 mc_rank_create_v1(topo_mod_t *mod, tnode_t *pnode, nvlist_t *auth, in mc_rank_create_v1() argument
470 fmri = topo_mod_hcfmri(mod, pnode, FM_HC_SCHEME_VERSION, RANK, id, in mc_rank_create_v1()
473 whinge(mod, NULL, "mc_rank_create_v1: topo_mod_hcfmri " in mc_rank_create_v1()
478 if ((rank = topo_node_bind(mod, pnode, RANK, id, fmri)) == NULL) { in mc_rank_create_v1()
479 whinge(mod, NULL, "mc_rank_create_v1: node bind failed for " in mc_rank_create_v1()
485 if (topo_method_register(mod, rank, rank_methods) < 0) { in mc_rank_create_v1()
486 whinge(mod, NULL, "mc_rank_create_v1: topo_method_register " in mc_rank_create_v1()
487 "failed for rank_methods: %d", topo_mod_errno(mod)); in mc_rank_create_v1()
490 if (!is_xpv() && topo_method_register(mod, rank, in mc_rank_create_v1()
492 whinge(mod, NULL, "mc_rank_create_v1: topo_method_register " in mc_rank_create_v1()
493 "failed for page retire: %d", topo_mod_errno(mod)); in mc_rank_create_v1()
497 whinge(mod, NULL, "mc_rank_create_v1: failed to set asru: %d", in mc_rank_create_v1()
500 return (topo_mod_seterrno(mod, err)); in mc_rank_create_v1()
504 whinge(mod, NULL, "mc_rank_create_v1: fru set failed: " in mc_rank_create_v1()
507 return (topo_mod_seterrno(mod, err)); in mc_rank_create_v1()
512 whinge(mod, NULL, "mc_rank_create_v1: failed to create " in mc_rank_create_v1()
514 return (topo_mod_seterrno(mod, err)); in mc_rank_create_v1()
526 whinge(mod, NULL, "mc_rank_create_v1: failed to set %s " in mc_rank_create_v1()
528 return (topo_mod_seterrno(mod, err)); in mc_rank_create_v1()
533 whinge(mod, NULL, "mc_rank_create_v1: Couldn't find disabled " in mc_rank_create_v1()
535 return (topo_mod_seterrno(mod, EMOD_UNKNOWN)); in mc_rank_create_v1()
539 whinge(mod, NULL, "mc_rank_create_v1: Found rank %u with id " in mc_rank_create_v1()
541 return (topo_mod_seterrno(mod, EMOD_UNKNOWN)); in mc_rank_create_v1()
547 whinge(mod, NULL, "mc_rank_create_v1: failed to set %s " in mc_rank_create_v1()
549 return (topo_mod_seterrno(mod, err)); in mc_rank_create_v1()
556 mc_dimm_create_v1(topo_mod_t *mod, tnode_t *pnode, nvlist_t *auth, in mc_dimm_create_v1() argument
577 fmri = topo_mod_hcfmri(mod, pnode, FM_HC_SCHEME_VERSION, DIMM, id, in mc_dimm_create_v1()
580 whinge(mod, NULL, "mc_dimm_create_v1: topo_mod_hcfmri " in mc_dimm_create_v1()
585 if ((dimm = topo_node_bind(mod, pnode, DIMM, id, fmri)) == NULL) { in mc_dimm_create_v1()
586 whinge(mod, NULL, "mc_dimm_create_v1: node bind failed for " in mc_dimm_create_v1()
593 whinge(mod, NULL, "mc_dimm_create_v1: fru set failed: " in mc_dimm_create_v1()
596 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
601 whinge(mod, NULL, "mc_dimm_create_v1: failed to create " in mc_dimm_create_v1()
603 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
639 whinge(mod, NULL, "failed to construct DIMM " in mc_dimm_create_v1()
641 return (topo_mod_seterrno(mod, EMOD_UNKNOWN)); in mc_dimm_create_v1()
646 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
658 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
667 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
676 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
685 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
694 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
705 return (topo_mod_seterrno(mod, err)); in mc_dimm_create_v1()
713 if (topo_node_range_create(mod, dimm, RANK, 0, ranks - 1) < 0) { in mc_dimm_create_v1()
714 whinge(mod, NULL, "mc_dimm_create_v1: rank node range " in mc_dimm_create_v1()
725 if (mc_rank_create_v1(mod, dimm, auth, dimm_nvl, rsize, i) != in mc_dimm_create_v1()
735 mc_channel_create_v1(topo_mod_t *mod, tnode_t *pnode, nvlist_t *auth, in mc_channel_create_v1() argument
744 if (mkrsrc(mod, pnode, DRAMCHANNEL, id, auth, &fmri) != 0) { in mc_channel_create_v1()
745 whinge(mod, NULL, "mc_channel_create_v1: mkrsrc failed\n"); in mc_channel_create_v1()
749 if ((chnode = topo_node_bind(mod, pnode, DRAMCHANNEL, id, fmri)) == in mc_channel_create_v1()
751 whinge(mod, NULL, "mc_channel_create_v1: node bind failed" in mc_channel_create_v1()
759 whinge(mod, NULL, "mc_channel_create_v1: fru set failed: " in mc_channel_create_v1()
761 return (topo_mod_seterrno(mod, err)); in mc_channel_create_v1()
765 whinge(mod, NULL, "mc_channel_create_v1: failed to create " in mc_channel_create_v1()
767 return (topo_mod_seterrno(mod, err)); in mc_channel_create_v1()
772 return (topo_mod_seterrno(mod, err)); in mc_channel_create_v1()
777 whinge(mod, NULL, "mc_channel_create_v1: No DIMMS provided"); in mc_channel_create_v1()
778 return (topo_mod_seterrno(mod, EMOD_UNKNOWN)); in mc_channel_create_v1()
781 if (topo_node_range_create(mod, chnode, DIMM, 0, ndimms - 1) < 0) { in mc_channel_create_v1()
782 whinge(mod, NULL, "mc_channel_create_v1: dimm node range " in mc_channel_create_v1()
788 if (mc_dimm_create_v1(mod, chnode, auth, dimms[i], i) != 0) in mc_channel_create_v1()
796 mc_imc_create_v1(topo_mod_t *mod, tnode_t *pnode, const char *name, in mc_imc_create_v1() argument
806 if (mkrsrc(mod, pnode, name, id, auth, &fmri) != 0) { in mc_imc_create_v1()
807 whinge(mod, NULL, "mc_imc_create_v1: mkrsrc failed\n"); in mc_imc_create_v1()
811 if ((mcnode = topo_node_bind(mod, pnode, name, id, fmri)) == NULL) { in mc_imc_create_v1()
812 whinge(mod, NULL, "mc_imc_create_v1: node bind failed" in mc_imc_create_v1()
820 whinge(mod, NULL, "mc_imc_create_v1: fru set failed: " in mc_imc_create_v1()
822 return (topo_mod_seterrno(mod, err)); in mc_imc_create_v1()
826 whinge(mod, NULL, "mc_imc_create_v1: failed to create " in mc_imc_create_v1()
828 return (topo_mod_seterrno(mod, err)); in mc_imc_create_v1()
842 return (topo_mod_seterrno(mod, err)); in mc_imc_create_v1()
851 return (topo_mod_seterrno(mod, err)); in mc_imc_create_v1()
862 whinge(mod, NULL, "mc_imc_create_v1: missing channels entry"); in mc_imc_create_v1()
863 return (topo_mod_seterrno(mod, EMOD_UNKNOWN)); in mc_imc_create_v1()
866 if (topo_node_range_create(mod, mcnode, DRAMCHANNEL, 0, in mc_imc_create_v1()
868 whinge(mod, NULL, "mc_imc_create_v1: channel node range create " in mc_imc_create_v1()
874 if (mc_channel_create_v1(mod, mcnode, auth, channels[i], i, in mc_imc_create_v1()
884 mc_nb_create_v1(topo_mod_t *mod, tnode_t *pnode, const char *name, in mc_nb_create_v1() argument
892 whinge(mod, NULL, "mc_nb_create_v1: failed to find memory " in mc_nb_create_v1()
897 if (topo_node_range_create(mod, pnode, name, 0, nmc - 1) < 0) { in mc_nb_create_v1()
898 whinge(mod, NULL, in mc_nb_create_v1()
904 if (mc_imc_create_v1(mod, pnode, name, auth, mc_nvl[i], i) != 0) in mc_nb_create_v1()
912 mc_node_create(topo_mod_t *mod, uint16_t chip_smbid, tnode_t *pnode, in mc_node_create() argument
922 (buf = topo_mod_alloc(mod, mcs.mcs_size)) == NULL || in mc_node_create()
925 whinge(mod, NULL, "mc failed to snapshot %s\n", in mc_node_create()
934 topo_mod_free(mod, buf, mcs.mcs_size); in mc_node_create()
937 whinge(mod, NULL, "mc nvlist is not versioned\n"); in mc_node_create()
942 whinge(mod, NULL, "mc nvlist version mismatch\n"); in mc_node_create()
948 rc = mc_nb_create_v1(mod, pnode, name, auth, nvl); in mc_node_create()
950 rc = mc_nb_create(mod, chip_smbid, pnode, name, auth, nvl); in mc_node_create()
958 onchip_mc_create(topo_mod_t *mod, uint16_t chip_smbid, tnode_t *pnode, in onchip_mc_create() argument
962 (void) mc_node_create(mod, chip_smbid, pnode, name, auth); in onchip_mc_create()
966 mc_offchip_create(topo_mod_t *mod, tnode_t *pnode, const char *name, in mc_offchip_create() argument
969 return (mc_node_create(mod, IGNORE_ID, pnode, name, auth)); in mc_offchip_create()