Lines Matching defs:cdi
231 struct dsp_cdevinfo *cdi;
248 TAILQ_FOREACH(cdi, &d->dsp_cdevinfo_pool, link) {
249 if (cdi->busy != 0)
251 cdi->rdch = rdch;
252 cdi->wrch = wrch;
253 cdi->volch = volch;
254 cdi->simplex = simplex;
255 cdi->busy = 1;
256 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
257 TAILQ_INSERT_TAIL(&d->dsp_cdevinfo_pool, cdi, link);
258 dev->si_drv1 = cdi;
262 cdi = malloc(sizeof(*cdi), M_DEVBUF, M_WAITOK | M_ZERO);
264 cdi->rdch = rdch;
265 cdi->wrch = wrch;
266 cdi->volch = volch;
267 cdi->simplex = simplex;
268 cdi->busy = 1;
269 TAILQ_INSERT_TAIL(&d->dsp_cdevinfo_pool, cdi, link);
270 dev->si_drv1 = cdi;
277 struct dsp_cdevinfo *cdi, *tmp;
290 cdi = dev->si_drv1;
292 cdi->rdch = NULL;
293 cdi->wrch = NULL;
294 cdi->volch = NULL;
295 cdi->simplex = 0;
296 cdi->busy = 0;
302 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
303 TAILQ_INSERT_HEAD(&d->dsp_cdevinfo_pool, cdi, link);
311 TAILQ_FOREACH_SAFE(cdi, &d->dsp_cdevinfo_pool, link, tmp) {
312 if (cdi->busy != 0) {
313 if (cdi->simplex == 0) {
314 if (cdi->rdch != NULL)
316 if (cdi->wrch != NULL)
321 TAILQ_REMOVE(&d->dsp_cdevinfo_pool, cdi, link);
322 free(cdi, M_DEVBUF);
333 struct dsp_cdevinfo *cdi;
342 cdi = malloc(sizeof(*cdi), M_DEVBUF, M_WAITOK | M_ZERO);
343 TAILQ_INSERT_HEAD(&d->dsp_cdevinfo_pool, cdi, link);
350 struct dsp_cdevinfo *cdi, *tmp;
356 cdi = TAILQ_FIRST(&d->dsp_cdevinfo_pool);
357 while (cdi != NULL) {
358 tmp = TAILQ_NEXT(cdi, link);
359 free(cdi, M_DEVBUF);
360 cdi = tmp;