Markus Stockhausen <markus.stockhausen@xxxxxx> wrote: > > +void rtcr_add_src_to_ring(struct rtcr_crypto_dev *cdev, int idx, void *vaddr, > + int blocklen, int totallen) > +{ > + dma_addr_t dma = cdev->src_dma + idx * RTCR_SRC_DESC_SIZE; > + struct rtcr_src_desc *src = &cdev->src_ring[idx]; > + > + src->len = totallen; > + src->paddr = virt_to_phys(vaddr); > + src->opmode = RTCR_SRC_OP_OWN_ASIC | RTCR_SRC_OP_CALC_EOR(idx) | blocklen; > + > + dma_sync_single_for_device(cdev->dev, dma, RTCR_SRC_DESC_SIZE, DMA_BIDIRECTIONAL); Why aren't there any calls to dma_sync_single_for_cpu if this is truly bidirectional? Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt