Lines Matching refs:dsp
185 struct drstate *dsp; in dropen() local
199 dsp = kmem_zalloc(sizeof (*dsp), KM_SLEEP); in dropen()
200 dsp->dr_major = getmajor(*devp); in dropen()
201 mutex_init(&dsp->dr_lock, NULL, MUTEX_DEFAULT, NULL); in dropen()
202 q->q_ptr = OTHERQ(q)->q_ptr = dsp; in dropen()
212 struct drstate *dsp = q->q_ptr; in drclose() local
214 ASSERT(dsp); in drclose()
218 mutex_destroy(&dsp->dr_lock); in drclose()
219 kmem_free(dsp, sizeof (*dsp)); in drclose()
228 struct drstate *dsp; in drrput() local
256 dsp = q->q_ptr; in drrput()
266 mutex_enter(&dsp->dr_lock); in drrput()
267 dip = dsp->dr_dip[dsp->dr_nlast]; in drrput()
268 dsp->dr_dip[dsp->dr_nlast] = NULL; in drrput()
269 INCR(dsp->dr_nlast); in drrput()
270 mutex_exit(&dsp->dr_lock); in drrput()
289 dsp = q->q_ptr; in drrput()
290 mutex_enter(&dsp->dr_lock); in drrput()
291 dip = dsp->dr_dip[dsp->dr_nlast]; in drrput()
292 dsp->dr_dip[dsp->dr_nlast] = NULL; in drrput()
293 INCR(dsp->dr_nlast); in drrput()
294 mutex_exit(&dsp->dr_lock); in drrput()
316 struct drstate *dsp; in drwput() local
349 dsp = q->q_ptr; in drwput()
351 dip = ddi_hold_devi_by_instance(dsp->dr_major, in drwput()
355 mutex_enter(&dsp->dr_lock); in drwput()
356 dsp->dr_dip[dsp->dr_nfirst] = dip; in drwput()
357 INCR(dsp->dr_nfirst); in drwput()
362 ASSERT(dsp->dr_nfirst != dsp->dr_nlast); in drwput()
363 if (dsp->dr_nfirst == dsp->dr_nlast) { in drwput()
366 mutex_exit(&dsp->dr_lock); in drwput()