Lines Matching refs:dma_chan
429 static int iop_adma_alloc_chan_resources(struct dma_chan *chan) in iop_adma_alloc_chan_resources()
496 iop_adma_prep_dma_interrupt(struct dma_chan *chan, unsigned long flags) in iop_adma_prep_dma_interrupt()
518 iop_adma_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dma_dest, in iop_adma_prep_dma_memcpy()
549 iop_adma_prep_dma_xor(struct dma_chan *chan, dma_addr_t dma_dest, in iop_adma_prep_dma_xor()
584 iop_adma_prep_dma_xor_val(struct dma_chan *chan, dma_addr_t *dma_src, in iop_adma_prep_dma_xor_val()
619 iop_adma_prep_dma_pq(struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src, in iop_adma_prep_dma_pq()
683 iop_adma_prep_dma_pq_val(struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src, in iop_adma_prep_dma_pq_val()
726 static void iop_adma_free_chan_resources(struct dma_chan *chan) in iop_adma_free_chan_resources()
764 static enum dma_status iop_adma_status(struct dma_chan *chan, in iop_adma_status()
828 static void iop_adma_issue_pending(struct dma_chan *chan) in iop_adma_issue_pending()
848 struct dma_chan *dma_chan; in iop_adma_memcpy_self_test() local
870 dma_chan = container_of(device->common.channels.next, in iop_adma_memcpy_self_test()
871 struct dma_chan, in iop_adma_memcpy_self_test()
873 if (iop_adma_alloc_chan_resources(dma_chan) < 1) { in iop_adma_memcpy_self_test()
878 dest_dma = dma_map_single(dma_chan->device->dev, dest, in iop_adma_memcpy_self_test()
880 src_dma = dma_map_single(dma_chan->device->dev, src, in iop_adma_memcpy_self_test()
882 tx = iop_adma_prep_dma_memcpy(dma_chan, dest_dma, src_dma, in iop_adma_memcpy_self_test()
887 iop_adma_issue_pending(dma_chan); in iop_adma_memcpy_self_test()
890 if (iop_adma_status(dma_chan, cookie, NULL) != in iop_adma_memcpy_self_test()
892 dev_err(dma_chan->device->dev, in iop_adma_memcpy_self_test()
898 iop_chan = to_iop_adma_chan(dma_chan); in iop_adma_memcpy_self_test()
902 dev_err(dma_chan->device->dev, in iop_adma_memcpy_self_test()
909 iop_adma_free_chan_resources(dma_chan); in iop_adma_memcpy_self_test()
927 struct dma_chan *dma_chan; in iop_adma_xor_val_self_test() local
968 dma_chan = container_of(device->common.channels.next, in iop_adma_xor_val_self_test()
969 struct dma_chan, in iop_adma_xor_val_self_test()
971 if (iop_adma_alloc_chan_resources(dma_chan) < 1) { in iop_adma_xor_val_self_test()
977 dest_dma = dma_map_page(dma_chan->device->dev, dest, 0, in iop_adma_xor_val_self_test()
980 dma_srcs[i] = dma_map_page(dma_chan->device->dev, xor_srcs[i], in iop_adma_xor_val_self_test()
982 tx = iop_adma_prep_dma_xor(dma_chan, dest_dma, dma_srcs, in iop_adma_xor_val_self_test()
987 iop_adma_issue_pending(dma_chan); in iop_adma_xor_val_self_test()
990 if (iop_adma_status(dma_chan, cookie, NULL) != in iop_adma_xor_val_self_test()
992 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
998 iop_chan = to_iop_adma_chan(dma_chan); in iop_adma_xor_val_self_test()
1004 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1014 if (!dma_has_cap(DMA_XOR_VAL, dma_chan->device->cap_mask)) in iop_adma_xor_val_self_test()
1025 dma_srcs[i] = dma_map_page(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1028 tx = iop_adma_prep_dma_xor_val(dma_chan, dma_srcs, in iop_adma_xor_val_self_test()
1034 iop_adma_issue_pending(dma_chan); in iop_adma_xor_val_self_test()
1037 if (iop_adma_status(dma_chan, cookie, NULL) != DMA_COMPLETE) { in iop_adma_xor_val_self_test()
1038 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1045 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1054 dma_srcs[i] = dma_map_page(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1057 tx = iop_adma_prep_dma_xor_val(dma_chan, dma_srcs, in iop_adma_xor_val_self_test()
1063 iop_adma_issue_pending(dma_chan); in iop_adma_xor_val_self_test()
1066 if (iop_adma_status(dma_chan, cookie, NULL) != DMA_COMPLETE) { in iop_adma_xor_val_self_test()
1067 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1074 dev_err(dma_chan->device->dev, in iop_adma_xor_val_self_test()
1081 iop_adma_free_chan_resources(dma_chan); in iop_adma_xor_val_self_test()
1105 struct dma_chan *dma_chan; in iop_adma_pq_zero_sum_self_test() local
1130 dma_chan = container_of(device->common.channels.next, in iop_adma_pq_zero_sum_self_test()
1131 struct dma_chan, in iop_adma_pq_zero_sum_self_test()
1133 if (iop_adma_alloc_chan_resources(dma_chan) < 1) { in iop_adma_pq_zero_sum_self_test()
1138 dev = dma_chan->device->dev; in iop_adma_pq_zero_sum_self_test()
1151 tx = iop_adma_prep_dma_pq(dma_chan, pq_dest, pq_src, in iop_adma_pq_zero_sum_self_test()
1158 iop_adma_issue_pending(dma_chan); in iop_adma_pq_zero_sum_self_test()
1161 if (iop_adma_status(dma_chan, cookie, NULL) != in iop_adma_pq_zero_sum_self_test()
1189 tx = iop_adma_prep_dma_pq_val(dma_chan, &pq_src[IOP_ADMA_NUM_SRC_TEST], in iop_adma_pq_zero_sum_self_test()
1195 iop_adma_issue_pending(dma_chan); in iop_adma_pq_zero_sum_self_test()
1198 if (iop_adma_status(dma_chan, cookie, NULL) != in iop_adma_pq_zero_sum_self_test()
1221 tx = iop_adma_prep_dma_pq_val(dma_chan, &pq_src[IOP_ADMA_NUM_SRC_TEST], in iop_adma_pq_zero_sum_self_test()
1227 iop_adma_issue_pending(dma_chan); in iop_adma_pq_zero_sum_self_test()
1230 if (iop_adma_status(dma_chan, cookie, NULL) != in iop_adma_pq_zero_sum_self_test()
1245 iop_adma_free_chan_resources(dma_chan); in iop_adma_pq_zero_sum_self_test()
1257 struct dma_chan *chan, *_chan; in iop_adma_remove()