Merge tag 'gpio-v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux...
[cascardo/linux.git] / drivers / crypto / caam / sg_sw_sec4.h
index 12ec661..19dc64f 100644 (file)
@@ -5,18 +5,19 @@
  *
  */
 
+#include "regs.h"
+
 struct sec4_sg_entry;
 
 /*
  * convert single dma address to h/w link table format
  */
 static inline void dma_to_sec4_sg_one(struct sec4_sg_entry *sec4_sg_ptr,
-                                     dma_addr_t dma, u32 len, u32 offset)
+                                     dma_addr_t dma, u32 len, u16 offset)
 {
-       sec4_sg_ptr->ptr = dma;
-       sec4_sg_ptr->len = len;
-       sec4_sg_ptr->buf_pool_id = 0;
-       sec4_sg_ptr->offset = offset;
+       sec4_sg_ptr->ptr = cpu_to_caam_dma(dma);
+       sec4_sg_ptr->len = cpu_to_caam32(len);
+       sec4_sg_ptr->bpid_offset = cpu_to_caam32(offset & SEC4_SG_OFFSET_MASK);
 #ifdef DEBUG
        print_hex_dump(KERN_ERR, "sec4_sg_ptr@: ",
                       DUMP_PREFIX_ADDRESS, 16, 4, sec4_sg_ptr,
@@ -30,7 +31,7 @@ static inline void dma_to_sec4_sg_one(struct sec4_sg_entry *sec4_sg_ptr,
  */
 static inline struct sec4_sg_entry *
 sg_to_sec4_sg(struct scatterlist *sg, int sg_count,
-             struct sec4_sg_entry *sec4_sg_ptr, u32 offset)
+             struct sec4_sg_entry *sec4_sg_ptr, u16 offset)
 {
        while (sg_count) {
                dma_to_sec4_sg_one(sec4_sg_ptr, sg_dma_address(sg),
@@ -48,10 +49,10 @@ sg_to_sec4_sg(struct scatterlist *sg, int sg_count,
  */
 static inline void sg_to_sec4_sg_last(struct scatterlist *sg, int sg_count,
                                      struct sec4_sg_entry *sec4_sg_ptr,
-                                     u32 offset)
+                                     u16 offset)
 {
        sec4_sg_ptr = sg_to_sec4_sg(sg, sg_count, sec4_sg_ptr, offset);
-       sec4_sg_ptr->len |= SEC4_SG_LEN_FIN;
+       sec4_sg_ptr->len |= cpu_to_caam32(SEC4_SG_LEN_FIN);
 }
 
 static inline struct sec4_sg_entry *sg_to_sec4_sg_len(