]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/spdk/dpdk/drivers/crypto/caam_jr/caam_jr_pvt.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / drivers / crypto / caam_jr / caam_jr_pvt.h
index 9f1adabc7d8244213490200d844409bca2891d46..552d6b9b1b37439c9263d6de13ec278ca16a9a32 100644 (file)
@@ -5,7 +5,8 @@
 #ifndef CAAM_JR_PVT_H
 #define CAAM_JR_PVT_H
 
-#include <hw/desc/ipsec.h>
+#include <desc/ipsec.h>
+#include <dpaax_iova_table.h>
 
 /* NXP CAAM JR PMD device name */
 
@@ -215,7 +216,7 @@ calc_chksum(void *buffer, int len)
 }
 struct uio_job_ring {
        uint32_t jr_id;
-       uint32_t uio_fd;
+       int uio_fd;
        void *register_base_addr;
        int map_size;
        int uio_minor_number;
@@ -223,8 +224,9 @@ struct uio_job_ring {
 
 int sec_cleanup(void);
 int sec_configure(void);
+void sec_uio_job_rings_init(void);
 struct uio_job_ring *config_job_ring(void);
-void free_job_ring(uint32_t uio_fd);
+void free_job_ring(int uio_fd);
 
 /* For Dma memory allocation of specified length and alignment */
 static inline void *
@@ -254,6 +256,11 @@ caam_jr_mem_vtop(void *vaddr)
 static inline void *
 caam_jr_dma_ptov(rte_iova_t paddr)
 {
+       void *va;
+       va = dpaax_iova_table_get_va(paddr);
+       if (likely(va != NULL))
+               return va;
+
        return rte_mem_iova2virt(paddr);
 }
 
@@ -273,7 +280,7 @@ static inline rte_iova_t caam_jr_dma_vtop(void *ptr)
  * @retval 0 for success
  * @retval -1 value for error
  */
-uint32_t caam_jr_enable_irqs(uint32_t uio_fd);
+int caam_jr_enable_irqs(int uio_fd);
 
 /** @brief Request to SEC kernel driver to disable interrupts for descriptor
  *  finished processing
@@ -286,6 +293,6 @@ uint32_t caam_jr_enable_irqs(uint32_t uio_fd);
  * @retval -1 value for error
  *
  */
-uint32_t caam_jr_disable_irqs(uint32_t uio_fd);
+int caam_jr_disable_irqs(int uio_fd);
 
 #endif