Lines Matching refs:smp
89 sfxge_mcdi_acquire(sfxge_mcdi_t *smp) in sfxge_mcdi_acquire() argument
91 mutex_enter(&(smp->sm_lock)); in sfxge_mcdi_acquire()
92 ASSERT3U(smp->sm_state, !=, SFXGE_MCDI_UNINITIALIZED); in sfxge_mcdi_acquire()
94 while (smp->sm_state != SFXGE_MCDI_INITIALIZED) { in sfxge_mcdi_acquire()
95 (void) cv_wait(&(smp->sm_kv), &(smp->sm_lock)); in sfxge_mcdi_acquire()
97 smp->sm_state = SFXGE_MCDI_BUSY; in sfxge_mcdi_acquire()
99 mutex_exit(&(smp->sm_lock)); in sfxge_mcdi_acquire()
105 sfxge_mcdi_release(sfxge_mcdi_t *smp) in sfxge_mcdi_release() argument
107 mutex_enter(&(smp->sm_lock)); in sfxge_mcdi_release()
108 ASSERT((smp->sm_state == SFXGE_MCDI_BUSY) || in sfxge_mcdi_release()
109 (smp->sm_state == SFXGE_MCDI_COMPLETED)); in sfxge_mcdi_release()
111 smp->sm_state = SFXGE_MCDI_INITIALIZED; in sfxge_mcdi_release()
112 cv_broadcast(&(smp->sm_kv)); in sfxge_mcdi_release()
114 mutex_exit(&(smp->sm_lock)); in sfxge_mcdi_release()
168 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi_execute() local
170 sfxge_mcdi_acquire(smp); in sfxge_mcdi_execute()
176 sfxge_mcdi_release(smp); in sfxge_mcdi_execute()
184 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi_ev_cpl() local
186 mutex_enter(&(smp->sm_lock)); in sfxge_mcdi_ev_cpl()
187 ASSERT(smp->sm_state == SFXGE_MCDI_BUSY); in sfxge_mcdi_ev_cpl()
188 smp->sm_state = SFXGE_MCDI_COMPLETED; in sfxge_mcdi_ev_cpl()
189 cv_broadcast(&(smp->sm_kv)); in sfxge_mcdi_ev_cpl()
190 mutex_exit(&(smp->sm_lock)); in sfxge_mcdi_ev_cpl()
274 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi_init() local
275 efsys_mem_t *esmp = &(smp->sm_mem); in sfxge_mcdi_init()
276 efx_mcdi_transport_t *emtp = &(smp->sm_emt); in sfxge_mcdi_init()
281 ASSERT3U(smp->sm_state, ==, SFXGE_MCDI_UNINITIALIZED); in sfxge_mcdi_init()
299 mutex_init(&(smp->sm_lock), NULL, MUTEX_DRIVER, NULL); in sfxge_mcdi_init()
301 smp->sm_state = SFXGE_MCDI_INITIALIZED; in sfxge_mcdi_init()
312 cv_init(&(smp->sm_kv), NULL, CV_DRIVER, NULL); in sfxge_mcdi_init()
322 cv_destroy(&(smp->sm_kv)); in sfxge_mcdi_init()
323 mutex_destroy(&(smp->sm_lock)); in sfxge_mcdi_init()
327 smp->sm_state = SFXGE_MCDI_UNINITIALIZED; in sfxge_mcdi_init()
328 smp->sm_sp = NULL; in sfxge_mcdi_init()
329 SFXGE_OBJ_CHECK(smp, sfxge_mcdi_t); in sfxge_mcdi_init()
342 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi_fini() local
343 efsys_mem_t *esmp = &(smp->sm_mem); in sfxge_mcdi_fini()
346 mutex_enter(&(smp->sm_lock)); in sfxge_mcdi_fini()
347 ASSERT3U(smp->sm_state, ==, SFXGE_MCDI_INITIALIZED); in sfxge_mcdi_fini()
350 emtp = &(smp->sm_emt); in sfxge_mcdi_fini()
353 smp->sm_sp = NULL; in sfxge_mcdi_fini()
355 cv_destroy(&(smp->sm_kv)); in sfxge_mcdi_fini()
356 mutex_exit(&(smp->sm_lock)); in sfxge_mcdi_fini()
360 mutex_destroy(&(smp->sm_lock)); in sfxge_mcdi_fini()
362 smp->sm_state = SFXGE_MCDI_UNINITIALIZED; in sfxge_mcdi_fini()
363 SFXGE_OBJ_CHECK(smp, sfxge_mcdi_t); in sfxge_mcdi_fini()
371 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi_ioctl() local
376 if (smp->sm_state == SFXGE_MCDI_UNINITIALIZED) { in sfxge_mcdi_ioctl()
435 sfxge_mcdi_t *smp = &(sp->s_mcdi); in sfxge_mcdi2_ioctl() local
440 if (smp->sm_state == SFXGE_MCDI_UNINITIALIZED) { in sfxge_mcdi2_ioctl()