58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
--- a/v1.0/src/nss_crypto_if.c
|
|
+++ b/v1.0/src/nss_crypto_if.c
|
|
@@ -370,15 +370,16 @@ void nss_crypto_transform_done(struct ne
|
|
struct nss_crypto_buf *buf = (struct nss_crypto_buf *)skb->data;
|
|
struct nss_crypto_buf_node *entry;
|
|
void *addr;
|
|
+ struct device *cdev = gbl_crypto_ctrl.eng[0].dev;
|
|
|
|
if (likely(buf->data_in == buf->data_out)) {
|
|
- dma_unmap_single(NULL, buf->data_in, buf->data_len, DMA_BIDIRECTIONAL);
|
|
+ dma_unmap_single(cdev, buf->data_in, buf->data_len, DMA_BIDIRECTIONAL);
|
|
} else {
|
|
- dma_unmap_single(NULL, buf->data_in, buf->data_len, DMA_TO_DEVICE);
|
|
- dma_unmap_single(NULL, buf->data_out, buf->data_len, DMA_FROM_DEVICE);
|
|
+ dma_unmap_single(cdev, buf->data_in, buf->data_len, DMA_TO_DEVICE);
|
|
+ dma_unmap_single(cdev, buf->data_out, buf->data_len, DMA_FROM_DEVICE);
|
|
}
|
|
|
|
- dma_unmap_single(NULL, buf->iv_addr, L1_CACHE_BYTES, DMA_BIDIRECTIONAL);
|
|
+ dma_unmap_single(cdev, buf->iv_addr, L1_CACHE_BYTES, DMA_BIDIRECTIONAL);
|
|
|
|
addr = phys_to_virt(buf->iv_addr);
|
|
entry = container_of(addr, struct nss_crypto_buf_node, results);
|
|
@@ -531,6 +532,7 @@ nss_crypto_status_t nss_crypto_transform
|
|
uint32_t paddr;
|
|
void *vaddr;
|
|
size_t len;
|
|
+ struct device *cdev = gbl_crypto_ctrl.eng[0].dev;
|
|
|
|
if (!buf->cb_fn) {
|
|
nss_crypto_warn("%p:no buffer(%p) callback present\n", crypto, buf);
|
|
@@ -544,7 +546,7 @@ nss_crypto_status_t nss_crypto_transform
|
|
*/
|
|
vaddr = (void *)buf->data_in;
|
|
len = buf->data_len;
|
|
- paddr = dma_map_single(NULL, vaddr, len, DMA_TO_DEVICE);
|
|
+ paddr = dma_map_single(cdev, vaddr, len, DMA_TO_DEVICE);
|
|
buf->data_in = paddr;
|
|
|
|
if (vaddr == (void *)buf->data_out) {
|
|
@@ -555,14 +557,14 @@ nss_crypto_status_t nss_crypto_transform
|
|
*/
|
|
vaddr = (void *)buf->data_out;
|
|
len = buf->data_len;
|
|
- paddr = dma_map_single(NULL, vaddr, len, DMA_FROM_DEVICE);
|
|
+ paddr = dma_map_single(cdev, vaddr, len, DMA_FROM_DEVICE);
|
|
buf->data_out = paddr;
|
|
}
|
|
|
|
/*
|
|
* We need to map the results into IV
|
|
*/
|
|
- paddr = dma_map_single(NULL, entry->results, L1_CACHE_BYTES, DMA_BIDIRECTIONAL);
|
|
+ paddr = dma_map_single(cdev, entry->results, L1_CACHE_BYTES, DMA_BIDIRECTIONAL);
|
|
buf->hash_addr = paddr;
|
|
buf->iv_addr = paddr;
|
|
|