Lines Matching refs:softsp

144 static int mc_get_memory_reg_info(struct mc_soft_state *softsp);
145 static void mc_construct(struct mc_soft_state *softsp);
214 struct mc_soft_state *softsp; in mc_attach() local
235 softsp = ddi_get_soft_state(mcp, instance); in mc_attach()
238 softsp->dip = devi; in mc_attach()
240 if ((softsp->portid = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->dip, in mc_attach()
248 instance, softsp->portid, CPU->cpu_id)); in mc_attach()
252 if ((ddi_getlongprop_buf(DDI_DEV_T_ANY, softsp->dip, DDI_PROP_DONTPASS, in mc_attach()
253 "memory-control-register-1", (caddr_t)&(softsp->mcreg1), in mc_attach()
256 softsp->mcr_read_ok = 1; in mc_attach()
258 instance, softsp->mcreg1)); in mc_attach()
262 if (!softsp->mcr_read_ok) { in mc_attach()
277 err = ddi_getlongprop(DDI_DEV_T_ANY, softsp->dip, DDI_PROP_DONTPASS, in mc_attach()
281 softsp->memlayoutp = dimminfop; in mc_attach()
282 softsp->memlayoutlen = len; in mc_attach()
289 softsp->memlayoutp = NULL; in mc_attach()
290 softsp->memlayoutlen = 0; in mc_attach()
300 if (mc_get_memory_reg_info(softsp) != 0) { in mc_attach()
307 mc_construct(softsp); in mc_attach()
329 mc_delete(softsp->portid); in mc_attach()
331 if (softsp->memlayoutp != NULL) in mc_attach()
332 kmem_free(softsp->memlayoutp, softsp->memlayoutlen); in mc_attach()
345 struct mc_soft_state *softsp; in mc_detach() local
351 softsp = ddi_get_soft_state(mcp, instance); in mc_detach()
365 softsp->portid)); in mc_detach()
370 mc_delete(softsp->portid); in mc_detach()
372 if (softsp->memlayoutp != NULL) in mc_detach()
373 kmem_free(softsp->memlayoutp, softsp->memlayoutlen); in mc_detach()
793 mc_get_memory_reg_info(struct mc_soft_state *softsp) in mc_get_memory_reg_info() argument
800 _NOTE(ARGUNUSED(softsp)) in mc_get_memory_reg_info()
1130 mc_logical_layout(struct mctrl_info *mctrl, struct mc_soft_state *softsp) in mc_logical_layout() argument
1142 interleave = (softsp->mcreg1 & MCREG1_INTERLEAVE_MASK) >> in mc_logical_layout()
1147 (softsp->mcreg1 & MCREG1_XOR_ENABLE)) { in mc_logical_layout()
1217 mc_add_devgrp(int dgrpid, struct mc_soft_state *softsp) in mc_add_devgrp() argument
1222 struct dimm_info *dimmp = (struct dimm_info *)softsp->memlayoutp; in mc_add_devgrp()
1224 mcid = softsp->portid; in mc_add_devgrp()
1240 if (softsp->mcreg1 & MCREG1_DIMM1_BANK1) in mc_add_devgrp()
1244 dgrp->base_device = (softsp->mcreg1 & MCREG1_ADDRGEN1_MASK) >> in mc_add_devgrp()
1246 dgrp->part_type = (softsp->mcreg1 & MCREG1_X4DIMM1_MASK) >> in mc_add_devgrp()
1250 if (softsp->mcreg1 & MCREG1_DIMM2_BANK3) in mc_add_devgrp()
1254 dgrp->base_device = (softsp->mcreg1 & MCREG1_ADDRGEN2_MASK) >> in mc_add_devgrp()
1256 dgrp->part_type = (softsp->mcreg1 & MCREG1_X4DIMM2_MASK) >> in mc_add_devgrp()
1305 mc_construct(struct mc_soft_state *softsp) in mc_construct() argument
1310 mcid = softsp->portid; in mc_construct()
1313 mcid, softsp->mcreg1)); in mc_construct()
1334 if (softsp->mcreg1 & MCREG1_DIMM1_BANK0) { in mc_construct()
1335 mc_add_devgrp(dgrpid, softsp); in mc_construct()
1341 if (softsp->mcreg1 & MCREG1_DIMM2_BANK2) { in mc_construct()
1343 mc_add_devgrp(dgrpid, softsp); in mc_construct()
1348 mc_logical_layout(mctrl, softsp); in mc_construct()
1350 mctrl->dimminfop = (struct dimm_info *)softsp->memlayoutp; in mc_construct()