Lines Matching refs:desc
23 void idxd_dma_complete_txd(struct idxd_desc *desc, in idxd_dma_complete_txd() argument
27 struct idxd_device *idxd = desc->wq->idxd; in idxd_dma_complete_txd()
32 if (desc->completion->status == DSA_COMP_SUCCESS) { in idxd_dma_complete_txd()
34 } else if (desc->completion->status) { in idxd_dma_complete_txd()
36 desc->completion->status == DSA_COMP_INT_HANDLE_INVAL && in idxd_dma_complete_txd()
37 idxd_queue_int_handle_resubmit(desc)) in idxd_dma_complete_txd()
46 tx = &desc->txd; in idxd_dma_complete_txd()
56 idxd_free_desc(desc->wq, desc); in idxd_dma_complete_txd()
90 struct idxd_desc *desc; in idxd_dma_prep_interrupt() local
96 desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK); in idxd_dma_prep_interrupt()
97 if (IS_ERR(desc)) in idxd_dma_prep_interrupt()
100 idxd_prep_desc_common(wq, desc->hw, DSA_OPCODE_NOOP, in idxd_dma_prep_interrupt()
101 0, 0, 0, desc->compl_dma, desc_flags); in idxd_dma_prep_interrupt()
102 desc->txd.flags = flags; in idxd_dma_prep_interrupt()
103 return &desc->txd; in idxd_dma_prep_interrupt()
113 struct idxd_desc *desc; in idxd_dma_submit_memcpy() local
122 desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK); in idxd_dma_submit_memcpy()
123 if (IS_ERR(desc)) in idxd_dma_submit_memcpy()
126 idxd_prep_desc_common(wq, desc->hw, DSA_OPCODE_MEMMOVE, in idxd_dma_submit_memcpy()
127 dma_src, dma_dest, len, desc->compl_dma, in idxd_dma_submit_memcpy()
130 desc->txd.flags = flags; in idxd_dma_submit_memcpy()
132 return &desc->txd; in idxd_dma_submit_memcpy()
177 struct idxd_desc *desc = container_of(tx, struct idxd_desc, txd); in idxd_dma_tx_submit() local
181 rc = idxd_submit_desc(wq, desc); in idxd_dma_tx_submit()
183 idxd_free_desc(wq, desc); in idxd_dma_tx_submit()
266 struct idxd_desc *desc = wq->descs[i]; in idxd_register_dma_channel() local
268 dma_async_tx_descriptor_init(&desc->txd, chan); in idxd_register_dma_channel()
269 desc->txd.tx_submit = idxd_dma_tx_submit; in idxd_register_dma_channel()