Lines Matching refs:daio

156 		daio_device_index(dao->daio.type, dao->hw), dao->ctrl_blk);  in dao_commit_write()
163 struct daio *daio = &dao->daio; in dao_set_left_input() local
166 entry = kzalloc((sizeof(*entry) * daio->rscl.msr), GFP_KERNEL); in dao_set_left_input()
173 daio->rscl.ops->master(&daio->rscl); in dao_set_left_input()
174 for (i = 0; i < daio->rscl.msr; i++, entry++) { in dao_set_left_input()
176 entry->user = entry->addr = daio->rscl.ops->index(&daio->rscl); in dao_set_left_input()
181 daio->rscl.ops->next_conj(&daio->rscl); in dao_set_left_input()
184 daio->rscl.ops->master(&daio->rscl); in dao_set_left_input()
192 struct daio *daio = &dao->daio; in dao_set_right_input() local
195 entry = kzalloc((sizeof(*entry) * daio->rscr.msr), GFP_KERNEL); in dao_set_right_input()
202 daio->rscr.ops->master(&daio->rscr); in dao_set_right_input()
203 for (i = 0; i < daio->rscr.msr; i++, entry++) { in dao_set_right_input()
205 entry->user = entry->addr = daio->rscr.ops->index(&daio->rscr); in dao_set_right_input()
207 dao->imappers[daio->rscl.msr + i] = entry; in dao_set_right_input()
210 daio->rscr.ops->next_conj(&daio->rscr); in dao_set_right_input()
213 daio->rscr.ops->master(&daio->rscr); in dao_set_right_input()
221 struct daio *daio = &dao->daio; in dao_clear_left_input() local
230 for (i = 1; i < daio->rscl.msr; i++) { in dao_clear_left_input()
245 struct daio *daio = &dao->daio; in dao_clear_right_input() local
248 if (!dao->imappers[daio->rscl.msr]) in dao_clear_right_input()
251 entry = dao->imappers[daio->rscl.msr]; in dao_clear_right_input()
254 for (i = 1; i < daio->rscr.msr; i++) { in dao_clear_right_input()
255 entry = dao->imappers[daio->rscl.msr + i]; in dao_clear_right_input()
257 dao->imappers[daio->rscl.msr + i] = NULL; in dao_clear_right_input()
260 kfree(dao->imappers[daio->rscl.msr]); in dao_clear_right_input()
261 dao->imappers[daio->rscl.msr] = NULL; in dao_clear_right_input()
317 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk); in dai_commit_write()
330 static int daio_rsc_init(struct daio *daio, in daio_rsc_init() argument
349 err = rsc_init(&daio->rscl, idx_l, DAIO, desc->msr, hw); in daio_rsc_init()
353 err = rsc_init(&daio->rscr, idx_r, DAIO, desc->msr, hw); in daio_rsc_init()
359 daio->rscl.ops = daio->rscr.ops = &daio_out_rsc_ops; in daio_rsc_init()
363 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k1; in daio_rsc_init()
366 daio->rscl.ops = daio->rscr.ops = &daio_in_rsc_ops_20k2; in daio_rsc_init()
372 daio->type = desc->type; in daio_rsc_init()
377 rsc_uninit(&daio->rscl); in daio_rsc_init()
381 static int daio_rsc_uninit(struct daio *daio) in daio_rsc_uninit() argument
383 rsc_uninit(&daio->rscl); in daio_rsc_uninit()
384 rsc_uninit(&daio->rscr); in daio_rsc_uninit()
397 err = daio_rsc_init(&dao->daio, desc, mgr->mgr.hw); in dao_rsc_init()
414 daio_device_index(dao->daio.type, hw)); in dao_rsc_init()
419 daio_device_index(dao->daio.type, hw), conf); in dao_rsc_init()
421 daio_device_index(dao->daio.type, hw)); in dao_rsc_init()
430 daio_rsc_uninit(&dao->daio); in dao_rsc_init()
440 if (dao->imappers[dao->daio.rscl.msr]) in dao_rsc_uninit()
448 daio_rsc_uninit(&dao->daio); in dao_rsc_uninit()
458 dsc.type = dao->daio.type; in dao_rsc_reinit()
473 err = daio_rsc_init(&dai->daio, desc, mgr->mgr.hw); in dai_rsc_init()
492 daio_device_index(dai->daio.type, dai->hw), dai->ctrl_blk); in dai_rsc_init()
497 daio_rsc_uninit(&dai->daio); in dai_rsc_init()
505 daio_rsc_uninit(&dai->daio); in dai_rsc_uninit()
528 struct daio **rdaio) in get_daio_rsc()
558 *rdaio = &dao->daio; in get_daio_rsc()
570 *rdaio = &dai->daio; in get_daio_rsc()
585 static int put_daio_rsc(struct daio_mgr *mgr, struct daio *daio) in put_daio_rsc() argument
589 mgr->daio_disable(mgr, daio); in put_daio_rsc()
593 daio_mgr_put_rsc(&mgr->mgr, daio->type); in put_daio_rsc()
596 if (daio->type <= DAIO_OUT_MAX) { in put_daio_rsc()
597 dao_rsc_uninit(container_of(daio, struct dao, daio)); in put_daio_rsc()
598 kfree(container_of(daio, struct dao, daio)); in put_daio_rsc()
600 dai_rsc_uninit(container_of(daio, struct dai, daio)); in put_daio_rsc()
601 kfree(container_of(daio, struct dai, daio)); in put_daio_rsc()
607 static int daio_mgr_enb_daio(struct daio_mgr *mgr, struct daio *daio) in daio_mgr_enb_daio() argument
611 if (DAIO_OUT_MAX >= daio->type) { in daio_mgr_enb_daio()
613 daio_device_index(daio->type, hw)); in daio_mgr_enb_daio()
616 daio_device_index(daio->type, hw)); in daio_mgr_enb_daio()
621 static int daio_mgr_dsb_daio(struct daio_mgr *mgr, struct daio *daio) in daio_mgr_dsb_daio() argument
625 if (DAIO_OUT_MAX >= daio->type) { in daio_mgr_dsb_daio()
627 daio_device_index(daio->type, hw)); in daio_mgr_dsb_daio()
630 daio_device_index(daio->type, hw)); in daio_mgr_dsb_daio()