Lines Matching refs:mm
3430 mio_master_t *mm = NULL; in ud_multi_strat() local
3476 mm = (mio_master_t *)kmem_zalloc(alloc_sz, KM_SLEEP); in ud_multi_strat()
3477 if (mm == NULL) { in ud_multi_strat()
3485 mutex_init(&mm->mm_mutex, NULL, MUTEX_DEFAULT, NULL); in ud_multi_strat()
3486 mm->mm_size = alloc_sz; in ud_multi_strat()
3487 mm->mm_bp = bp; in ud_multi_strat()
3488 mm->mm_resid = 0; in ud_multi_strat()
3489 mm->mm_error = 0; in ud_multi_strat()
3490 mm->mm_index = master_index++; in ud_multi_strat()
3492 ms = (mio_slave_t *)(((caddr_t)mm) + sizeof (mio_master_t)); in ud_multi_strat()
3514 ms->ms_ptr = mm; in ud_multi_strat()
3520 mm->mm_resid += contig; in ud_multi_strat()
3529 ms = (mio_slave_t *)(((caddr_t)mm) + sizeof (mio_master_t)); in ud_multi_strat()
3540 if (mm != NULL) { in ud_multi_strat()
3541 mutex_destroy(&mm->mm_mutex); in ud_multi_strat()
3542 kmem_free(mm, mm->mm_size); in ud_multi_strat()
3551 mio_master_t *mm; in ud_slave_done() local
3557 mm = ((mio_slave_t *)bp)->ms_ptr; in ud_slave_done()
3563 mutex_enter(&mm->mm_mutex); in ud_slave_done()
3572 mm->mm_error = bp->b_error; in ud_slave_done()
3574 mm->mm_resid -= bp->b_bcount; in ud_slave_done()
3575 resid = mm->mm_resid; in ud_slave_done()
3576 mutex_exit(&mm->mm_mutex); in ud_slave_done()
3590 if (mm->mm_error) { in ud_slave_done()
3591 mm->mm_bp->b_flags |= B_ERROR; in ud_slave_done()
3592 mm->mm_bp->b_error = mm->mm_error; in ud_slave_done()
3594 biodone(mm->mm_bp); in ud_slave_done()
3595 mutex_destroy(&mm->mm_mutex); in ud_slave_done()
3596 kmem_free(mm, mm->mm_size); in ud_slave_done()