Lines Matching refs:wp
89 walk_init(fm_cmi_walk_t *wp, uint_t chipid, uint_t coreid, uint_t strandid, in walk_init() argument
92 wp->chipid = chipid; in walk_init()
93 wp->coreid = coreid; in walk_init()
94 wp->strandid = strandid; in walk_init()
99 if ((wp->cbfunc = cbfunc) == NULL) { in walk_init()
100 wp->hdls = kmem_alloc(sizeof (cmi_hdl_t) * INIT_HDLS, KM_SLEEP); in walk_init()
101 wp->nhdl_max = INIT_HDLS; in walk_init()
102 wp->nhdl = 0; in walk_init()
107 walk_fini(fm_cmi_walk_t *wp) in walk_fini() argument
109 if (wp->cbfunc == NULL) in walk_fini()
110 kmem_free(wp->hdls, sizeof (cmi_hdl_t) * wp->nhdl_max); in walk_fini()
116 fm_cmi_walk_t *wp = (fm_cmi_walk_t *)arg1; in select_cmi_hdl() local
118 if (wp->chipid != ANY_ID && wp->chipid != cmi_hdl_chipid(hdl)) in select_cmi_hdl()
120 if (wp->coreid != ANY_ID && wp->coreid != cmi_hdl_coreid(hdl)) in select_cmi_hdl()
122 if (wp->strandid != ANY_ID && wp->strandid != cmi_hdl_strandid(hdl)) in select_cmi_hdl()
131 if (wp->cbfunc != NULL) in select_cmi_hdl()
132 return (wp->cbfunc(hdl, arg2, arg3)); in select_cmi_hdl()
134 if (wp->nhdl == wp->nhdl_max) { in select_cmi_hdl()
135 size_t sz = sizeof (cmi_hdl_t) * wp->nhdl_max; in select_cmi_hdl()
138 bcopy(wp->hdls, newarray, sz); in select_cmi_hdl()
139 kmem_free(wp->hdls, sz); in select_cmi_hdl()
140 wp->hdls = newarray; in select_cmi_hdl()
141 wp->nhdl_max <<= 1; in select_cmi_hdl()
145 wp->hdls[wp->nhdl++] = hdl; in select_cmi_hdl()