Lines Matching refs:wp
87 walk_init(fm_cmi_walk_t *wp, uint_t chipid, uint_t coreid, uint_t strandid, in walk_init() argument
90 wp->chipid = chipid; in walk_init()
91 wp->coreid = coreid; in walk_init()
92 wp->strandid = strandid; in walk_init()
97 if ((wp->cbfunc = cbfunc) == NULL) { in walk_init()
98 wp->hdls = kmem_alloc(sizeof (cmi_hdl_t) * INIT_HDLS, KM_SLEEP); in walk_init()
99 wp->nhdl_max = INIT_HDLS; in walk_init()
100 wp->nhdl = 0; in walk_init()
105 walk_fini(fm_cmi_walk_t *wp) in walk_fini() argument
107 if (wp->cbfunc == NULL) in walk_fini()
108 kmem_free(wp->hdls, sizeof (cmi_hdl_t) * wp->nhdl_max); in walk_fini()
114 fm_cmi_walk_t *wp = (fm_cmi_walk_t *)arg1; in select_cmi_hdl() local
116 if (wp->chipid != ANY_ID && wp->chipid != cmi_hdl_chipid(hdl)) in select_cmi_hdl()
118 if (wp->coreid != ANY_ID && wp->coreid != cmi_hdl_coreid(hdl)) in select_cmi_hdl()
120 if (wp->strandid != ANY_ID && wp->strandid != cmi_hdl_strandid(hdl)) in select_cmi_hdl()
129 if (wp->cbfunc != NULL) in select_cmi_hdl()
130 return (wp->cbfunc(hdl, arg2, arg3)); in select_cmi_hdl()
132 if (wp->nhdl == wp->nhdl_max) { in select_cmi_hdl()
133 size_t sz = sizeof (cmi_hdl_t) * wp->nhdl_max; in select_cmi_hdl()
136 bcopy(wp->hdls, newarray, sz); in select_cmi_hdl()
137 kmem_free(wp->hdls, sz); in select_cmi_hdl()
138 wp->hdls = newarray; in select_cmi_hdl()
139 wp->nhdl_max <<= 1; in select_cmi_hdl()
143 wp->hdls[wp->nhdl++] = hdl; in select_cmi_hdl()