Lines Matching full:rxd
1010 static void sa_sync_from_device(struct sa_rx_data *rxd) in sa_sync_from_device() argument
1014 if (rxd->mapped_sg[0].dir == DMA_BIDIRECTIONAL) in sa_sync_from_device()
1015 sgt = &rxd->mapped_sg[0].sgt; in sa_sync_from_device()
1017 sgt = &rxd->mapped_sg[1].sgt; in sa_sync_from_device()
1019 dma_sync_sgtable_for_cpu(rxd->ddev, sgt, DMA_FROM_DEVICE); in sa_sync_from_device()
1022 static void sa_free_sa_rx_data(struct sa_rx_data *rxd) in sa_free_sa_rx_data() argument
1026 for (i = 0; i < ARRAY_SIZE(rxd->mapped_sg); i++) { in sa_free_sa_rx_data()
1027 struct sa_mapped_sg *mapped_sg = &rxd->mapped_sg[i]; in sa_free_sa_rx_data()
1030 dma_unmap_sgtable(rxd->ddev, &mapped_sg->sgt, in sa_free_sa_rx_data()
1036 kfree(rxd); in sa_free_sa_rx_data()
1041 struct sa_rx_data *rxd = data; in sa_aes_dma_in_callback() local
1048 sa_sync_from_device(rxd); in sa_aes_dma_in_callback()
1049 req = container_of(rxd->req, struct skcipher_request, base); in sa_aes_dma_in_callback()
1052 mdptr = (__be32 *)dmaengine_desc_get_metadata_ptr(rxd->tx_in, &pl, in sa_aes_dma_in_callback()
1056 for (i = 0; i < (rxd->enc_iv_size / 4); i++) in sa_aes_dma_in_callback()
1057 result[i] = be32_to_cpu(mdptr[i + rxd->iv_idx]); in sa_aes_dma_in_callback()
1060 sa_free_sa_rx_data(rxd); in sa_aes_dma_in_callback()
1082 struct sa_rx_data *rxd; in sa_run() local
1102 rxd = kzalloc(sizeof(*rxd), gfp_flags); in sa_run()
1103 if (!rxd) in sa_run()
1128 rxd->ddev = ddev; in sa_run()
1156 mapped_sg = &rxd->mapped_sg[0]; in sa_run()
1168 kfree(rxd); in sa_run()
1179 kfree(rxd); in sa_run()
1203 mapped_sg = &rxd->mapped_sg[1]; in sa_run()
1244 rxd->tx_in = dmaengine_prep_slave_sg(dma_rx, dst, dst_nents, in sa_run()
1247 if (!rxd->tx_in) { in sa_run()
1253 rxd->req = (void *)req->base; in sa_run()
1254 rxd->enc = req->enc; in sa_run()
1255 rxd->iv_idx = req->ctx->iv_idx; in sa_run()
1256 rxd->enc_iv_size = sa_ctx->cmdl_upd_info.enc_iv.size; in sa_run()
1257 rxd->tx_in->callback = req->callback; in sa_run()
1258 rxd->tx_in->callback_param = rxd; in sa_run()
1284 dmaengine_submit(rxd->tx_in); in sa_run()
1292 sa_free_sa_rx_data(rxd); in sa_run()
1355 struct sa_rx_data *rxd = data; in sa_sha_dma_in_callback() local
1364 sa_sync_from_device(rxd); in sa_sha_dma_in_callback()
1365 req = container_of(rxd->req, struct ahash_request, base); in sa_sha_dma_in_callback()
1369 mdptr = (__be32 *)dmaengine_desc_get_metadata_ptr(rxd->tx_in, &pl, &ml); in sa_sha_dma_in_callback()
1375 sa_free_sa_rx_data(rxd); in sa_sha_dma_in_callback()
1693 struct sa_rx_data *rxd = data; in sa_aead_dma_in_callback() local
1704 sa_sync_from_device(rxd); in sa_aead_dma_in_callback()
1705 req = container_of(rxd->req, struct aead_request, base); in sa_aead_dma_in_callback()
1710 mdptr = (u32 *)dmaengine_desc_get_metadata_ptr(rxd->tx_in, &pl, &ml); in sa_aead_dma_in_callback()
1714 if (rxd->enc) { in sa_aead_dma_in_callback()
1725 sa_free_sa_rx_data(rxd); in sa_aead_dma_in_callback()