]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/crypto/qce/ablkcipher.c
Merge remote-tracking branch 'h8300/h8300-next'
[karo-tx-linux.git] / drivers / crypto / qce / ablkcipher.c
index ad592de475a4295be62c0c59f2af9e4bb2d8e529..2c0d63d48747dcc6fdd9d44a5182144032c2db4f 100644 (file)
@@ -44,10 +44,8 @@ static void qce_ablkcipher_done(void *data)
                        error);
 
        if (diff_dst)
-               qce_unmapsg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src,
-                           rctx->dst_chained);
-       qce_unmapsg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst,
-                   rctx->dst_chained);
+               dma_unmap_sg(qce->dev, rctx->src_sg, rctx->src_nents, dir_src);
+       dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst);
 
        sg_free_table(&rctx->dst_tbl);
 
@@ -80,15 +78,11 @@ qce_ablkcipher_async_req_handle(struct crypto_async_request *async_req)
        dir_src = diff_dst ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL;
        dir_dst = diff_dst ? DMA_FROM_DEVICE : DMA_BIDIRECTIONAL;
 
-       rctx->src_nents = qce_countsg(req->src, req->nbytes,
-                                     &rctx->src_chained);
-       if (diff_dst) {
-               rctx->dst_nents = qce_countsg(req->dst, req->nbytes,
-                                             &rctx->dst_chained);
-       } else {
+       rctx->src_nents = sg_nents_for_len(req->src, req->nbytes);
+       if (diff_dst)
+               rctx->dst_nents = sg_nents_for_len(req->dst, req->nbytes);
+       else
                rctx->dst_nents = rctx->src_nents;
-               rctx->dst_chained = rctx->src_chained;
-       }
 
        rctx->dst_nents += 1;
 
@@ -116,14 +110,12 @@ qce_ablkcipher_async_req_handle(struct crypto_async_request *async_req)
        sg_mark_end(sg);
        rctx->dst_sg = rctx->dst_tbl.sgl;
 
-       ret = qce_mapsg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst,
-                       rctx->dst_chained);
+       ret = dma_map_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst);
        if (ret < 0)
                goto error_free;
 
        if (diff_dst) {
-               ret = qce_mapsg(qce->dev, req->src, rctx->src_nents, dir_src,
-                               rctx->src_chained);
+               ret = dma_map_sg(qce->dev, req->src, rctx->src_nents, dir_src);
                if (ret < 0)
                        goto error_unmap_dst;
                rctx->src_sg = req->src;
@@ -149,11 +141,9 @@ error_terminate:
        qce_dma_terminate_all(&qce->dma);
 error_unmap_src:
        if (diff_dst)
-               qce_unmapsg(qce->dev, req->src, rctx->src_nents, dir_src,
-                           rctx->src_chained);
+               dma_unmap_sg(qce->dev, req->src, rctx->src_nents, dir_src);
 error_unmap_dst:
-       qce_unmapsg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst,
-                   rctx->dst_chained);
+       dma_unmap_sg(qce->dev, rctx->dst_sg, rctx->dst_nents, dir_dst);
 error_free:
        sg_free_table(&rctx->dst_tbl);
        return ret;