Lines Matching refs:daio

152 		daio_device_index(dao->daio.type, dao->hw), dao->ctrl_blk);  in dao_commit_write()
159 struct daio *daio = &dao->daio; in dao_set_left_input() local
162 entry = kzalloc((sizeof(*entry) * daio->rscl.msr), GFP_KERNEL); in dao_set_left_input()
169 daio->rscl.ops->master(&daio->rscl); in dao_set_left_input()
170 for (i = 0; i < daio->rscl.msr; i++, entry++) { in dao_set_left_input()
172 entry->user = entry->addr = daio->rscl.ops->index(&daio->rscl); in dao_set_left_input()
177 daio->rscl.ops->next_conj(&daio->rscl); in dao_set_left_input()
180 daio->rscl.ops->master(&daio->rscl); in dao_set_left_input()
188 struct daio *daio = &dao->daio; in dao_set_right_input() local
191 entry = kzalloc((sizeof(*entry) * daio->rscr.msr), GFP_KERNEL); in dao_set_right_input()
198 daio->rscr.ops->master(&daio->rscr); in dao_set_right_input()
199 for (i = 0; i < daio->rscr.msr; i++, entry++) { in dao_set_right_input()
201 entry->user = entry->addr = daio->rscr.ops->index(&daio->rscr); in dao_set_right_input()
203 dao->imappers[daio->rscl.msr + i] = entry; in dao_set_right_input()
206 daio->rscr.ops->next_conj(&daio->rscr); in dao_set_right_input()
209 daio->rscr.ops->master(&daio->rscr); in dao_set_right_input()
217 struct daio *daio = &dao->daio; in dao_clear_left_input() local
226 for (i = 1; i < daio->rscl.msr; i++) { in dao_clear_left_input()
241 struct daio *daio = &dao->daio; in dao_clear_right_input() local
244 if (!dao->imappers[daio->rscl.msr]) in dao_clear_right_input()
247 entry = dao->imappers[daio->rscl.msr]; in dao_clear_right_input()
250 for (i = 1; i < daio->rscr.msr; i++) { in dao_clear_right_input()
251 entry = dao->imappers[daio->rscl.msr + i]; in dao_clear_right_input()
253 dao->imappers[daio->rscl.msr + i] = NULL; in dao_clear_right_input()
256 kfree(dao->imappers[daio->rscl.msr]); in dao_clear_right_input()
257 dao->imappers[daio->rscl.msr] = NULL; in dao_clear_right_input()
313 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk); in dai_commit_write()
326 static int daio_rsc_init(struct daio *daio, in daio_rsc_init() argument
345 err = rsc_init(&daio->rscl, idx_l, DAIO, desc->msr, hw); in daio_rsc_init()
349 err = rsc_init(&daio->rscr, idx_r, DAIO, desc->msr, hw); in daio_rsc_init()
355 daio->rscl.ops = daio->rscr.ops = &daio_out_rsc_ops; in daio_rsc_init()
359 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k1; in daio_rsc_init()
362 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k2; in daio_rsc_init()
368 daio->type = desc->type; in daio_rsc_init()
373 rsc_uninit(&daio->rscl); in daio_rsc_init()
377 static int daio_rsc_uninit(struct daio *daio) in daio_rsc_uninit() argument
379 rsc_uninit(&daio->rscl); in daio_rsc_uninit()
380 rsc_uninit(&daio->rscr); in daio_rsc_uninit()
393 err = daio_rsc_init(&dao->daio, desc, mgr->mgr.hw); in dao_rsc_init()
411 daio_device_index(dao->daio.type, hw)); in dao_rsc_init()
416 daio_device_index(dao->daio.type, hw), conf); in dao_rsc_init()
418 daio_device_index(dao->daio.type, hw)); in dao_rsc_init()
427 daio_rsc_uninit(&dao->daio); in dao_rsc_init()
437 if (dao->imappers[dao->daio.rscl.msr]) in dao_rsc_uninit()
445 daio_rsc_uninit(&dao->daio); in dao_rsc_uninit()
455 dsc.type = dao->daio.type; in dao_rsc_reinit()
470 err = daio_rsc_init(&dai->daio, desc, mgr->mgr.hw); in dai_rsc_init()
489 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk); in dai_rsc_init()
494 daio_rsc_uninit(&dai->daio); in dai_rsc_init()
502 daio_rsc_uninit(&dai->daio); in dai_rsc_uninit()
525 struct daio **rdaio) in get_daio_rsc()
555 *rdaio = &dao->daio; in get_daio_rsc()
567 *rdaio = &dai->daio; in get_daio_rsc()
582 static int put_daio_rsc(struct daio_mgr *mgr, struct daio *daio) in put_daio_rsc() argument
586 mgr->daio_disable(mgr, daio); in put_daio_rsc()
590 daio_mgr_put_rsc(&mgr->mgr, daio->type); in put_daio_rsc()
593 if (daio->type <= DAIO_OUT_MAX) { in put_daio_rsc()
594 dao_rsc_uninit(container_of(daio, struct dao, daio)); in put_daio_rsc()
595 kfree(container_of(daio, struct dao, daio)); in put_daio_rsc()
597 dai_rsc_uninit(container_of(daio, struct dai, daio)); in put_daio_rsc()
598 kfree(container_of(daio, struct dai, daio)); in put_daio_rsc()
604 static int daio_mgr_enb_daio(struct daio_mgr *mgr, struct daio *daio) in daio_mgr_enb_daio() argument
608 if (DAIO_OUT_MAX >= daio->type) { in daio_mgr_enb_daio()
610 daio_device_index(daio->type, hw)); in daio_mgr_enb_daio()
613 daio_device_index(daio->type, hw)); in daio_mgr_enb_daio()
618 static int daio_mgr_dsb_daio(struct daio_mgr *mgr, struct daio *daio) in daio_mgr_dsb_daio() argument
622 if (DAIO_OUT_MAX >= daio->type) { in daio_mgr_dsb_daio()
624 daio_device_index(daio->type, hw)); in daio_mgr_dsb_daio()
627 daio_device_index(daio->type, hw)); in daio_mgr_dsb_daio()