Lines Matching refs:dmultp

349 	struct fc_data *dmultp = (struct fc_data *)queuep;
353 que_objp = dmultp->ds_queobjp;
354 tgcom_objp = dmultp->ds_tgcomobjp;
358 mutex_enter(&dmultp->ds_mutex);
359 if ((dmultp->ds_outcnt >= dmultp->ds_waitcnt) || dmultp->ds_bp) {
361 if (dmultp->ds_kstat) {
362 kstat_waitq_enter(KSTAT_IO_PTR(dmultp->ds_kstat));
364 mutex_exit(&dmultp->ds_mutex);
367 if (dmultp->ds_kstat) {
368 kstat_waitq_enter(KSTAT_IO_PTR(dmultp->ds_kstat));
372 (caddr_t)dmultp) != DDI_SUCCESS) {
374 dmultp->ds_bp = in_bp;
375 mutex_exit(&dmultp->ds_mutex);
378 dmultp->ds_outcnt++;
379 if (dmultp->ds_kstat)
380 kstat_waitq_to_runq(KSTAT_IO_PTR(dmultp->ds_kstat));
381 mutex_exit(&dmultp->ds_mutex);
390 struct fc_data *dmultp = (struct fc_data *)queuep;
395 que_objp = dmultp->ds_queobjp;
396 tgcom_objp = dmultp->ds_tgcomobjp;
398 mutex_enter(&dmultp->ds_mutex);
400 dmultp->ds_outcnt--;
401 if (dmultp->ds_kstat) {
403 KSTAT_IO_PTR(dmultp->ds_kstat)->reads++;
404 KSTAT_IO_PTR(dmultp->ds_kstat)->nread +=
407 KSTAT_IO_PTR(dmultp->ds_kstat)->writes++;
408 KSTAT_IO_PTR(dmultp->ds_kstat)->nwritten +=
411 kstat_runq_exit(KSTAT_IO_PTR(dmultp->ds_kstat));
418 if ((curthread->t_intr) && (!dmultp->ds_bp) &&
419 (!dmultp->ds_outcnt))
423 if (!dmultp->ds_bp)
424 dmultp->ds_bp = QUE_DEL(que_objp);
425 if (!dmultp->ds_bp ||
426 (TGCOM_PKT(tgcom_objp, dmultp->ds_bp, dmult_restart,
427 (caddr_t)dmultp) != DDI_SUCCESS) ||
428 (dmultp->ds_outcnt >= dmultp->ds_waitcnt)) {
429 mutex_exit(&dmultp->ds_mutex);
432 dmultp->ds_outcnt++;
433 bp = dmultp->ds_bp;
434 dmultp->ds_bp = QUE_DEL(que_objp);
436 if (dmultp->ds_kstat)
437 kstat_waitq_to_runq(KSTAT_IO_PTR(dmultp->ds_kstat));
439 mutex_exit(&dmultp->ds_mutex);
443 if (!mutex_tryenter(&dmultp->ds_mutex))
449 dmult_restart(struct fc_data *dmultp)
451 (void) dmult_deque(dmultp, NULL);
1048 * dmult_enque() holds dmultp->ds_mutex lock, so we dont grab