]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/infiniband/sw/rxe/rxe_mr.c
IB/rxe: Offload CRC calculation when possible
[karo-tx-linux.git] / drivers / infiniband / sw / rxe / rxe_mr.c
index 37eea7441ca4c42378b8551c34a97255fb40d535..154c3ee211aeb8e85913a20e15c028a4a72dddf8 100644 (file)
@@ -370,7 +370,8 @@ int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length,
                        ((void *)(uintptr_t)iova) : addr;
 
                if (crcp)
-                       *crcp = crc32_le(*crcp, src, length);
+                       crc = rxe_crc32(to_rdev(mem->pd->ibpd.device),
+                                       *crcp, src, length);
 
                memcpy(dest, src, length);
 
@@ -403,7 +404,8 @@ int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length,
                        bytes = length;
 
                if (crcp)
-                       crc = crc32_le(crc, src, bytes);
+                       crc = rxe_crc32(to_rdev(mem->pd->ibpd.device),
+                                       crc, src, bytes);
 
                memcpy(dest, src, bytes);