Lines Matching full:d
97 struct snddev_info *d; in snd_setup_intr() local
101 d = device_get_softc(dev); in snd_setup_intr()
102 if (d != NULL && (flags & INTR_MPSAFE)) in snd_setup_intr()
103 d->flags |= SD_F_MPSAFE; in snd_setup_intr()
111 struct snddev_info *d; in sysctl_hw_snd_default_unit() local
118 d = devclass_get_softc(pcm_devclass, unit); in sysctl_hw_snd_default_unit()
119 if (!PCM_REGISTERED(d) || CHN_EMPTY(d, channels.pcm)) { in sysctl_hw_snd_default_unit()
138 struct snddev_info *d = device_get_softc(dev); in pcm_addchan() local
142 PCM_LOCK(d); in pcm_addchan()
143 PCM_WAIT(d); in pcm_addchan()
144 PCM_ACQUIRE(d); in pcm_addchan()
145 ch = chn_init(d, NULL, cls, dir, devinfo); in pcm_addchan()
147 device_printf(d->dev, "chn_init(%s, %d, %p) failed\n", in pcm_addchan()
151 PCM_RELEASE(d); in pcm_addchan()
152 PCM_UNLOCK(d); in pcm_addchan()
158 pcm_killchans(struct snddev_info *d) in pcm_killchans() argument
163 PCM_BUSYASSERT(d); in pcm_killchans()
164 KASSERT(!PCM_REGISTERED(d), ("%s(): still registered\n", __func__)); in pcm_killchans()
169 CHN_FOREACH(ch, d, channels.pcm) { in pcm_killchans()
195 while (!CHN_EMPTY(d, channels.pcm)) { in pcm_killchans()
196 ch = CHN_FIRST(d, channels.pcm); in pcm_killchans()
200 if (d->p_unr != NULL) in pcm_killchans()
201 delete_unrhdr(d->p_unr); in pcm_killchans()
202 if (d->vp_unr != NULL) in pcm_killchans()
203 delete_unrhdr(d->vp_unr); in pcm_killchans()
204 if (d->r_unr != NULL) in pcm_killchans()
205 delete_unrhdr(d->r_unr); in pcm_killchans()
206 if (d->vr_unr != NULL) in pcm_killchans()
207 delete_unrhdr(d->vr_unr); in pcm_killchans()
213 struct snddev_info *d; in pcm_best_unit() local
221 d = devclass_get_softc(pcm_devclass, i); in pcm_best_unit()
222 if (!PCM_REGISTERED(d)) in pcm_best_unit()
225 if (d->playcount == 0) in pcm_best_unit()
227 if (d->reccount == 0) in pcm_best_unit()
242 struct snddev_info *d = device_get_softc(dev); in pcm_getflags() local
244 return d->flags; in pcm_getflags()
250 struct snddev_info *d = device_get_softc(dev); in pcm_setflags() local
252 d->flags = val; in pcm_setflags()
258 struct snddev_info *d = device_get_softc(dev); in pcm_getdevinfo() local
260 return d->devinfo; in pcm_getdevinfo()
266 struct snddev_info *d = device_get_softc(dev); in pcm_getbuffersize() local
274 …device_printf(dev, "'buffersize=%d' hint is out of range (%d-%d), using %d\n", x, minbufsz, maxbuf… in pcm_getbuffersize()
281 device_printf(dev, "'buffersize=%d' hint is not a power of 2, using %d\n", sz, x); in pcm_getbuffersize()
288 d->bufsz = sz; in pcm_getbuffersize()
296 struct snddev_info *d; in sysctl_dev_pcm_bitperfect() local
299 d = oidp->oid_arg1; in sysctl_dev_pcm_bitperfect()
300 if (!PCM_REGISTERED(d)) in sysctl_dev_pcm_bitperfect()
303 PCM_LOCK(d); in sysctl_dev_pcm_bitperfect()
304 PCM_WAIT(d); in sysctl_dev_pcm_bitperfect()
305 val = (d->flags & SD_F_BITPERFECT) ? 1 : 0; in sysctl_dev_pcm_bitperfect()
306 PCM_ACQUIRE(d); in sysctl_dev_pcm_bitperfect()
307 PCM_UNLOCK(d); in sysctl_dev_pcm_bitperfect()
313 PCM_RELEASE_QUICK(d); in sysctl_dev_pcm_bitperfect()
317 PCM_LOCK(d); in sysctl_dev_pcm_bitperfect()
319 d->flags &= ~SD_F_BITPERFECT; in sysctl_dev_pcm_bitperfect()
320 d->flags |= (val != 0) ? SD_F_BITPERFECT : 0; in sysctl_dev_pcm_bitperfect()
322 PCM_RELEASE(d); in sysctl_dev_pcm_bitperfect()
323 PCM_UNLOCK(d); in sysctl_dev_pcm_bitperfect()
325 PCM_RELEASE_QUICK(d); in sysctl_dev_pcm_bitperfect()
333 struct snddev_info *d; in sysctl_dev_pcm_mode() local
336 d = oidp->oid_arg1; in sysctl_dev_pcm_mode()
337 if (!PCM_REGISTERED(d)) in sysctl_dev_pcm_mode()
340 PCM_LOCK(d); in sysctl_dev_pcm_mode()
341 if (d->playcount > 0) in sysctl_dev_pcm_mode()
343 if (d->reccount > 0) in sysctl_dev_pcm_mode()
345 if (d->mixer_dev != NULL) in sysctl_dev_pcm_mode()
347 PCM_UNLOCK(d); in sysctl_dev_pcm_mode()
359 struct snddev_info *d; in pcm_init() local
362 d = device_get_softc(dev); in pcm_init()
363 d->dev = dev; in pcm_init()
364 d->lock = snd_mtxcreate(device_get_nameunit(dev), "sound cdev"); in pcm_init()
365 cv_init(&d->cv, device_get_nameunit(dev)); in pcm_init()
370 d->flags |= SD_F_VPC; in pcm_init()
374 d->flags |= SD_F_BITPERFECT; in pcm_init()
376 d->devinfo = devinfo; in pcm_init()
377 d->reccount = 0; in pcm_init()
378 d->playcount = 0; in pcm_init()
379 d->pvchancount = 0; in pcm_init()
380 d->rvchancount = 0; in pcm_init()
381 d->pvchanrate = 0; in pcm_init()
382 d->pvchanformat = 0; in pcm_init()
383 d->rvchanrate = 0; in pcm_init()
384 d->rvchanformat = 0; in pcm_init()
385 d->p_unr = new_unrhdr(0, INT_MAX, NULL); in pcm_init()
386 d->vp_unr = new_unrhdr(0, INT_MAX, NULL); in pcm_init()
387 d->r_unr = new_unrhdr(0, INT_MAX, NULL); in pcm_init()
388 d->vr_unr = new_unrhdr(0, INT_MAX, NULL); in pcm_init()
390 CHN_INIT(d, channels.pcm); in pcm_init()
391 CHN_INIT(d, channels.pcm.busy); in pcm_init()
392 CHN_INIT(d, channels.pcm.opened); in pcm_init()
393 CHN_INIT(d, channels.pcm.primary); in pcm_init()
399 struct snddev_info *d = device_get_softc(dev); in pcm_register() local
402 if (d->flags & SD_F_REGISTERED) in pcm_register()
405 if (d->playcount == 0 || d->reccount == 0) in pcm_register()
406 d->flags |= SD_F_SIMPLEX; in pcm_register()
407 if (d->playcount > 0) in pcm_register()
408 d->flags |= SD_F_PVCHANS; in pcm_register()
409 if (d->reccount > 0) in pcm_register()
410 d->flags |= SD_F_RVCHANS; in pcm_register()
412 strlcpy(d->status, str, SND_STATUSLEN); in pcm_register()
415 d->flags |= SD_F_REGISTERED; in pcm_register()
421 sysctl_ctx_init(&d->play_sysctl_ctx); in pcm_register()
422 d->play_sysctl_tree = SYSCTL_ADD_NODE(&d->play_sysctl_ctx, in pcm_register()
425 sysctl_ctx_init(&d->rec_sysctl_ctx); in pcm_register()
426 d->rec_sysctl_tree = SYSCTL_ADD_NODE(&d->rec_sysctl_ctx, in pcm_register()
434 OID_AUTO, "buffersize", CTLFLAG_RD, &d->bufsz, 0, in pcm_register()
438 "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, in pcm_register()
439 sizeof(d), sysctl_dev_pcm_bitperfect, "I", in pcm_register()
443 "mode", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, d, sizeof(d), in pcm_register()
448 if (d->flags & SD_F_EQ) in pcm_register()
458 sndstat_register(dev, d->status); in pcm_register()
466 struct snddev_info *d; in pcm_unregister() local
468 d = device_get_softc(dev); in pcm_unregister()
470 if (!PCM_ALIVE(d)) { in pcm_unregister()
475 PCM_LOCK(d); in pcm_unregister()
476 PCM_WAIT(d); in pcm_unregister()
478 d->flags &= ~SD_F_REGISTERED; in pcm_unregister()
480 PCM_ACQUIRE(d); in pcm_unregister()
481 PCM_UNLOCK(d); in pcm_unregister()
483 pcm_killchans(d); in pcm_unregister()
485 PCM_RELEASE_QUICK(d); in pcm_unregister()
487 if (d->play_sysctl_tree != NULL) { in pcm_unregister()
488 sysctl_ctx_free(&d->play_sysctl_ctx); in pcm_unregister()
489 d->play_sysctl_tree = NULL; in pcm_unregister()
491 if (d->rec_sysctl_tree != NULL) { in pcm_unregister()
492 sysctl_ctx_free(&d->rec_sysctl_ctx); in pcm_unregister()
493 d->rec_sysctl_tree = NULL; in pcm_unregister()
500 cv_destroy(&d->cv); in pcm_unregister()
501 snd_mtxfree(d->lock); in pcm_unregister()
539 struct snddev_info *d; in sound_oss_sysinfo() local
561 d = devclass_get_softc(pcm_devclass, i); in sound_oss_sysinfo()
562 if (!PCM_REGISTERED(d)) in sound_oss_sysinfo()
568 PCM_UNLOCKASSERT(d); in sound_oss_sysinfo()
569 PCM_LOCK(d); in sound_oss_sysinfo()
571 si->numaudioengines += PCM_CHANCOUNT(d); in sound_oss_sysinfo()
573 CHN_FOREACH(c, d, channels.pcm) { in sound_oss_sysinfo()
583 PCM_UNLOCK(d); in sound_oss_sysinfo()
633 struct snddev_info *d; in sound_oss_card_info() local
639 d = devclass_get_softc(pcm_devclass, i); in sound_oss_card_info()
643 if (!PCM_REGISTERED(d)) { in sound_oss_card_info()
645 "pcm%d (n/a)", i); in sound_oss_card_info()
651 PCM_UNLOCKASSERT(d); in sound_oss_card_info()
652 PCM_LOCK(d); in sound_oss_card_info()
654 strlcpy(si->shortname, device_get_nameunit(d->dev), in sound_oss_card_info()
656 strlcpy(si->longname, device_get_desc(d->dev), in sound_oss_card_info()
658 strlcpy(si->hw_info, d->status, sizeof(si->hw_info)); in sound_oss_card_info()
661 PCM_UNLOCK(d); in sound_oss_card_info()
707 printf("%s: snd_unit=%d snd_vchans_enable=%d " in sound_global_init()
708 "latency=%d " in sound_global_init()
709 "feeder_rate_min=%d feeder_rate_max=%d " in sound_global_init()
710 "feeder_rate_round=%d\n", in sound_global_init()