• Home
  • Raw
  • Download

Lines Matching refs:promise

322 	struct sun4i_dma_promise *promise = NULL;  in __execute_vchan_pending()  local
367 promise = list_first_entry(&contract->demands, in __execute_vchan_pending()
369 vchan->processing = promise; in __execute_vchan_pending()
372 if (promise) { in __execute_vchan_pending()
376 configure_pchan(pchan, promise); in __execute_vchan_pending()
436 struct sun4i_dma_promise *promise; in generate_ndma_promise() local
443 promise = kzalloc(sizeof(*promise), GFP_NOWAIT); in generate_ndma_promise()
444 if (!promise) in generate_ndma_promise()
447 promise->src = src; in generate_ndma_promise()
448 promise->dst = dest; in generate_ndma_promise()
449 promise->len = len; in generate_ndma_promise()
450 promise->cfg = SUN4I_DMA_CFG_LOADING | in generate_ndma_promise()
462 promise->cfg |= SUN4I_DMA_CFG_SRC_BURST_LENGTH(ret); in generate_ndma_promise()
468 promise->cfg |= SUN4I_DMA_CFG_DST_BURST_LENGTH(ret); in generate_ndma_promise()
474 promise->cfg |= SUN4I_DMA_CFG_SRC_DATA_WIDTH(ret); in generate_ndma_promise()
480 promise->cfg |= SUN4I_DMA_CFG_DST_DATA_WIDTH(ret); in generate_ndma_promise()
482 return promise; in generate_ndma_promise()
485 kfree(promise); in generate_ndma_promise()
502 struct sun4i_dma_promise *promise; in generate_ddma_promise() local
505 promise = kzalloc(sizeof(*promise), GFP_NOWAIT); in generate_ddma_promise()
506 if (!promise) in generate_ddma_promise()
509 promise->src = src; in generate_ddma_promise()
510 promise->dst = dest; in generate_ddma_promise()
511 promise->len = len; in generate_ddma_promise()
512 promise->cfg = SUN4I_DMA_CFG_LOADING | in generate_ddma_promise()
519 promise->cfg |= SUN4I_DMA_CFG_SRC_BURST_LENGTH(ret); in generate_ddma_promise()
525 promise->cfg |= SUN4I_DMA_CFG_DST_BURST_LENGTH(ret); in generate_ddma_promise()
531 promise->cfg |= SUN4I_DMA_CFG_SRC_DATA_WIDTH(ret); in generate_ddma_promise()
537 promise->cfg |= SUN4I_DMA_CFG_DST_DATA_WIDTH(ret); in generate_ddma_promise()
539 return promise; in generate_ddma_promise()
542 kfree(promise); in generate_ddma_promise()
578 struct sun4i_dma_promise *promise; in get_next_cyclic_promise() local
580 promise = list_first_entry_or_null(&contract->demands, in get_next_cyclic_promise()
582 if (!promise) { in get_next_cyclic_promise()
585 promise = list_first_entry(&contract->demands, in get_next_cyclic_promise()
589 return promise; in get_next_cyclic_promise()
598 struct sun4i_dma_promise *promise, *tmp; in sun4i_dma_free_contract() local
601 list_for_each_entry_safe(promise, tmp, &contract->demands, list) in sun4i_dma_free_contract()
602 kfree(promise); in sun4i_dma_free_contract()
604 list_for_each_entry_safe(promise, tmp, &contract->completed_demands, list) in sun4i_dma_free_contract()
605 kfree(promise); in sun4i_dma_free_contract()
616 struct sun4i_dma_promise *promise; in sun4i_dma_prep_dma_memcpy() local
634 promise = generate_ddma_promise(chan, src, dest, len, sconfig); in sun4i_dma_prep_dma_memcpy()
636 promise = generate_ndma_promise(chan, src, dest, len, sconfig, in sun4i_dma_prep_dma_memcpy()
639 if (!promise) { in sun4i_dma_prep_dma_memcpy()
646 promise->cfg |= SUN4I_DMA_CFG_SRC_DRQ_TYPE(SUN4I_DDMA_DRQ_TYPE_SDRAM) | in sun4i_dma_prep_dma_memcpy()
649 promise->cfg |= SUN4I_DMA_CFG_SRC_DRQ_TYPE(SUN4I_NDMA_DRQ_TYPE_SDRAM) | in sun4i_dma_prep_dma_memcpy()
654 list_add_tail(&promise->list, &contract->demands); in sun4i_dma_prep_dma_memcpy()
667 struct sun4i_dma_promise *promise; in sun4i_dma_prep_dma_cyclic() local
750 promise = generate_ndma_promise(chan, src, dest, in sun4i_dma_prep_dma_cyclic()
752 if (!promise) { in sun4i_dma_prep_dma_cyclic()
756 promise->cfg |= endpoints; in sun4i_dma_prep_dma_cyclic()
759 list_add_tail(&promise->list, &contract->demands); in sun4i_dma_prep_dma_cyclic()
773 struct sun4i_dma_promise *promise; in sun4i_dma_prep_slave_sg() local
837 promise = generate_ddma_promise(chan, srcaddr, dstaddr, in sun4i_dma_prep_slave_sg()
841 promise = generate_ndma_promise(chan, srcaddr, dstaddr, in sun4i_dma_prep_slave_sg()
845 if (!promise) in sun4i_dma_prep_slave_sg()
848 promise->cfg |= endpoints; in sun4i_dma_prep_slave_sg()
849 promise->para = para; in sun4i_dma_prep_slave_sg()
852 list_add_tail(&promise->list, &contract->demands); in sun4i_dma_prep_slave_sg()
944 struct sun4i_dma_promise *promise; in sun4i_dma_tx_status() local
960 list_for_each_entry(promise, &contract->demands, list) in sun4i_dma_tx_status()
961 bytes += promise->len; in sun4i_dma_tx_status()
968 promise = list_first_entry_or_null(&contract->demands, in sun4i_dma_tx_status()
970 if (promise && pchan) { in sun4i_dma_tx_status()
971 bytes -= promise->len; in sun4i_dma_tx_status()
1010 struct sun4i_dma_promise *promise; in sun4i_dma_interrupt() local
1057 promise = get_next_cyclic_promise(contract); in sun4i_dma_interrupt()
1058 vchan->processing = promise; in sun4i_dma_interrupt()
1059 configure_pchan(pchan, promise); in sun4i_dma_interrupt()