Lines Matching refs:dev

148 	nsc_dev_t *dev = fd->sf_dev;
158 mutex_enter(&dev->nsc_lock);
169 mutex_exit(&dev->nsc_lock);
269 nsc_dev_t *dev;
274 dev = fd->sf_dev;
276 return (dev->nsc_wait || dev->nsc_refcnt <= 0);
301 nsc_dev_t *dev = fd->sf_dev;
306 if (dev->nsc_wait || dev->nsc_refcnt <= 0)
307 cv_broadcast(&dev->nsc_cv);
309 return (dev->nsc_drop > 0);
327 nsc_dev_t *dev = fd->sf_dev;
330 mutex_enter(&dev->nsc_lock);
333 mutex_exit(&dev->nsc_lock);
340 if (dev->nsc_wait || dev->nsc_refcnt <= 0)
341 cv_broadcast(&dev->nsc_cv);
343 while (dev->nsc_drop > 0) {
344 rc = _nsc_detach_dev(dev, NULL, NSC_RDWR);
349 mutex_exit(&dev->nsc_lock);
387 nsc_dev_t *dev;
393 dev = fd->sf_dev;
400 mutex_enter(&dev->nsc_lock);
402 while ((rc = _nsc_detach_dev(dev, NULL, flag)) != 0)
407 dev->nsc_drop = 1;
409 mutex_exit(&dev->nsc_lock);
436 nsc_dev_t *dev = fd->sf_dev;
442 return (_nsc_wait_dev(dev, flag));
456 if (dev->nsc_drop == 0)
462 return (_nsc_wait_dev(dev, flag));
471 return (_nsc_wait_dev(dev, flag));
485 return _nsc_call_dev(dev, iodev->si_io->getpin,
516 nsc_dev_t *dev = fd->sf_dev;
523 return (_nsc_wait_dev(dev, flag));
539 return (_nsc_wait_dev(dev, flag));
544 return (_nsc_wait_dev(dev, flag));
576 nsc_dev_t *dev = fd->sf_dev;
580 if (newdev == dev) {
600 mutex_exit(&dev->nsc_lock);
610 mutex_enter(&dev->nsc_lock);
613 if (dev->nsc_wait || dev->nsc_refcnt <= 0)
614 cv_broadcast(&dev->nsc_cv);
677 nsc_dev_t *dev = iodev->si_dev;
684 return (_nsc_wait_dev(dev, flag));
691 if (dev->nsc_rpend && !iodev->si_avail)
692 return (_nsc_wait_dev(dev, flag));
694 if ((rc = _nsc_detach_dev(dev, iodev, flag)) != 0 ||
695 (rc = _nsc_attach_dev(dev, flag)) != 0)
708 return (_nsc_call_dev(dev, io->attach, iodev->si_open->sf_cd,
741 nsc_dev_t *dev = iodev->si_dev;
750 return (_nsc_wait_dev(dev, flag));
766 _nsc_wake_dev(dev, &iodev->si_rpend);
771 _nsc_wake_dev(dev, &iodev->si_rpend);
784 return (_nsc_call_dev(dev, fn, iodev->si_open->sf_cd,
791 * _nsc_attach_dev (nsc_dev_t *dev, int flag)
805 _nsc_attach_dev(dev, flag)
806 nsc_dev_t *dev;
809 if (dev->nsc_pend) {
812 return (_nsc_wait_dev(dev, flag));
821 * _nsc_detach_dev (nsc_dev_t *dev, nsc_iodev_t *keep, int flag)
841 _nsc_detach_dev(nsc_dev_t *dev, nsc_iodev_t *keep, int flag)
846 if (dev->nsc_pend) {
849 return (_nsc_wait_dev(dev, flag));
852 dev->nsc_rpend++;
854 for (iodev = dev->nsc_list; iodev; iodev = iodev->si_next) {
864 _nsc_wake_dev(dev, &dev->nsc_rpend);
871 dev->nsc_drop = 0;
879 * _nsc_call_dev (nsc_dev_t *dev, blindfn_t fn, blind_t arg,
907 _nsc_call_dev(nsc_dev_t *dev, blindfn_t fn, blind_t arg, int *ap, int *pp,
921 mutex_exit(&dev->nsc_lock);
925 mutex_enter(&dev->nsc_lock);
929 if (dev->nsc_wait || dev->nsc_refcnt <= 0)
930 cv_broadcast(&dev->nsc_cv);
948 * _nsc_wait_dev (nsc_dev_t *dev, int flag)
966 _nsc_wait_dev(dev, flag)
967 nsc_dev_t *dev;
975 dev->nsc_wait++;
978 rc = cv_wait_sig(&dev->nsc_cv, &dev->nsc_lock);
980 cv_wait(&dev->nsc_cv, &dev->nsc_lock);
982 dev->nsc_wait--;
984 if (dev->nsc_refcnt <= 0)
985 cv_broadcast(&dev->nsc_cv);
993 * _nsc_wake_dev (nsc_dev_t *dev, int *valp)
1005 _nsc_wake_dev(dev, valp)
1006 nsc_dev_t *dev;
1012 if (dev->nsc_wait || dev->nsc_refcnt <= 0)
1013 cv_broadcast(&dev->nsc_cv);