• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/sound/pci/ctxfi/

Lines Matching refs:daio

165 		daio_device_index(dao->daio.type, dao->hw), dao->ctrl_blk);
172 struct daio *daio = &dao->daio;
175 entry = kzalloc((sizeof(*entry) * daio->rscl.msr), GFP_KERNEL);
181 daio->rscl.ops->master(&daio->rscl);
182 for (i = 0; i < daio->rscl.msr; i++, entry++) {
184 entry->user = entry->addr = daio->rscl.ops->index(&daio->rscl);
189 daio->rscl.ops->next_conj(&daio->rscl);
192 daio->rscl.ops->master(&daio->rscl);
200 struct daio *daio = &dao->daio;
203 entry = kzalloc((sizeof(*entry) * daio->rscr.msr), GFP_KERNEL);
209 daio->rscr.ops->master(&daio->rscr);
210 for (i = 0; i < daio->rscr.msr; i++, entry++) {
212 entry->user = entry->addr = daio->rscr.ops->index(&daio->rscr);
214 dao->imappers[daio->rscl.msr + i] = entry;
217 daio->rscr.ops->next_conj(&daio->rscr);
220 daio->rscr.ops->master(&daio->rscr);
228 struct daio *daio = &dao->daio;
237 for (i = 1; i < daio->rscl.msr; i++) {
252 struct daio *daio = &dao->daio;
255 if (!dao->imappers[daio->rscl.msr])
258 entry = dao->imappers[daio->rscl.msr];
261 for (i = 1; i < daio->rscr.msr; i++) {
262 entry = dao->imappers[daio->rscl.msr + i];
264 dao->imappers[daio->rscl.msr + i] = NULL;
267 kfree(dao->imappers[daio->rscl.msr]);
268 dao->imappers[daio->rscl.msr] = NULL;
326 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk);
339 static int daio_rsc_init(struct daio *daio,
358 err = rsc_init(&daio->rscl, idx_l, DAIO, desc->msr, hw);
362 err = rsc_init(&daio->rscr, idx_r, DAIO, desc->msr, hw);
366 /* Set daio->rscl/r->ops to daio specific ones */
368 daio->rscl.ops = daio->rscr.ops = &daio_out_rsc_ops;
372 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k1;
375 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k2;
381 daio->type = desc->type;
386 rsc_uninit(&daio->rscl);
390 static int daio_rsc_uninit(struct daio *daio)
392 rsc_uninit(&daio->rscl);
393 rsc_uninit(&daio->rscr);
406 err = daio_rsc_init(&dao->daio, desc, mgr->mgr.hw);
423 daio_device_index(dao->daio.type, hw));
428 daio_device_index(dao->daio.type, hw), conf);
430 daio_device_index(dao->daio.type, hw));
439 daio_rsc_uninit(&dao->daio);
449 if (dao->imappers[dao->daio.rscl.msr])
457 daio_rsc_uninit(&dao->daio);
467 dsc.type = dao->daio.type;
482 err = daio_rsc_init(&dai->daio, desc, mgr->mgr.hw);
501 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk);
506 daio_rsc_uninit(&dai->daio);
514 daio_rsc_uninit(&dai->daio);
537 struct daio **rdaio)
546 /* Check whether there are sufficient daio resources to meet request. */
555 /* Allocate mem for daio resource */
566 *rdaio = &dao->daio;
577 *rdaio = &dai->daio;
597 static int put_daio_rsc(struct daio_mgr *mgr, struct daio *daio)
601 mgr->daio_disable(mgr, daio);
605 daio_mgr_put_rsc(&mgr->mgr, daio->type);
608 if (daio->type <= DAIO_OUT_MAX) {
609 dao_rsc_uninit(container_of(daio, struct dao, daio));
610 kfree(container_of(daio, struct dao, daio));
612 dai_rsc_uninit(container_of(daio, struct dai, daio));
613 kfree(container_of(daio, struct dai, daio));
619 static int daio_mgr_enb_daio(struct daio_mgr *mgr, struct daio *daio)
623 if (DAIO_OUT_MAX >= daio->type) {
625 daio_device_index(daio->type, hw));
628 daio_device_index(daio->type, hw));
633 static int daio_mgr_dsb_daio(struct daio_mgr *mgr, struct daio *daio)
637 if (DAIO_OUT_MAX >= daio->type) {
639 daio_device_index(daio->type, hw));
642 daio_device_index(daio->type, hw));
759 /* free daio input mapper list */