Lines Matching refs:cdi
225 struct dsp_cdevinfo *cdi;
242 TAILQ_FOREACH(cdi, &d->dsp_cdevinfo_pool, link) {
243 if (cdi->busy != 0)
245 cdi->rdch = rdch;
246 cdi->wrch = wrch;
247 cdi->volch = volch;
248 cdi->simplex = simplex;
249 cdi->busy = 1;
250 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
251 TAILQ_INSERT_TAIL(&d->dsp_cdevinfo_pool, cdi, link);
252 dev->si_drv1 = cdi;
256 cdi = malloc(sizeof(*cdi), M_DEVBUF, M_WAITOK | M_ZERO);
258 cdi->rdch = rdch;
259 cdi->wrch = wrch;
260 cdi->volch = volch;
261 cdi->simplex = simplex;
262 cdi->busy = 1;
263 TAILQ_INSERT_TAIL(&d->dsp_cdevinfo_pool, cdi, link);
264 dev->si_drv1 = cdi;
271 struct dsp_cdevinfo *cdi, *tmp;
284 cdi = dev->si_drv1;
286 cdi->rdch = NULL;
287 cdi->wrch = NULL;
288 cdi->volch = NULL;
289 cdi->simplex = 0;
290 cdi->busy = 0;
296 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
297 TAILQ_INSERT_HEAD(&d->dsp_cdevinfo_pool, cdi, link);
305 TAILQ_FOREACH_SAFE(cdi, &d->dsp_cdevinfo_pool, link, tmp) {
306 if (cdi->busy != 0) {
307 if (cdi->simplex == 0) {
308 if (cdi->rdch != NULL)
310 if (cdi->wrch != NULL)
315 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
316 free(cdi, M_DEVBUF);
327 struct dsp_cdevinfo *cdi;
336 cdi = malloc(sizeof(*cdi), M_DEVBUF, M_WAITOK | M_ZERO);
337 TAILQ_INSERT_HEAD(&d->dsp_cdevinfo_pool, cdi, link);
344 struct dsp_cdevinfo *cdi, *tmp;
350 cdi = TAILQ_FIRST(&d->dsp_cdevinfo_pool);
351 while (cdi != NULL) {
352 tmp = TAILQ_NEXT(cdi, link);
353 free(cdi, M_DEVBUF);
354 cdi = tmp;