crypto: qat - generalize crypto request buffers
authorGiovanni Cabiddu <giovanni.cabiddu@intel.com>
Mon, 28 Nov 2022 12:21:15 +0000 (12:21 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:52:04 +0000 (11:52 +0100)
[ Upstream commit 36ebc7472afeb58f1eb1d4c1f0546b9e98acea46 ]

The structure qat_crypto_request_buffs which contains the source and
destination buffer lists and correspondent sizes and dma addresses is
also required for the compression service.
Rename it as qat_request_buffs and move it to qat_bl.h.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Wojciech Ziemba <wojciech.ziemba@intel.com>
Reviewed-by: Adam Guerin <adam.guerin@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Stable-dep-of: 9b2f33a1bfcd ("crypto: qat - fix unregistration of crypto algorithms")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/qat/qat_common/qat_bl.c
drivers/crypto/qat/qat_common/qat_bl.h
drivers/crypto/qat/qat_common/qat_crypto.h

index 5e31988..c32b12d 100644 (file)
@@ -11,7 +11,7 @@
 #include "qat_crypto.h"
 
 void qat_bl_free_bufl(struct adf_accel_dev *accel_dev,
-                     struct qat_crypto_request_buffs *buf)
+                     struct qat_request_buffs *buf)
 {
        struct device *dev = &GET_DEV(accel_dev);
        struct qat_alg_buf_list *bl = buf->bl;
@@ -53,7 +53,7 @@ void qat_bl_free_bufl(struct adf_accel_dev *accel_dev,
 int qat_bl_sgl_to_bufl(struct adf_accel_dev *accel_dev,
                       struct scatterlist *sgl,
                       struct scatterlist *sglout,
-                      struct qat_crypto_request_buffs *buf,
+                      struct qat_request_buffs *buf,
                       gfp_t flags)
 {
        struct device *dev = &GET_DEV(accel_dev);
index 241299c..1c534c5 100644 (file)
@@ -4,14 +4,46 @@
 #define QAT_BL_H
 #include <linux/scatterlist.h>
 #include <linux/types.h>
-#include "qat_crypto.h"
+
+#define QAT_MAX_BUFF_DESC      4
+
+struct qat_alg_buf {
+       u32 len;
+       u32 resrvd;
+       u64 addr;
+} __packed;
+
+struct qat_alg_buf_list {
+       u64 resrvd;
+       u32 num_bufs;
+       u32 num_mapped_bufs;
+       struct qat_alg_buf bufers[];
+} __packed;
+
+struct qat_alg_fixed_buf_list {
+       struct qat_alg_buf_list sgl_hdr;
+       struct qat_alg_buf descriptors[QAT_MAX_BUFF_DESC];
+} __packed __aligned(64);
+
+struct qat_request_buffs {
+       struct qat_alg_buf_list *bl;
+       dma_addr_t blp;
+       struct qat_alg_buf_list *blout;
+       dma_addr_t bloutp;
+       size_t sz;
+       size_t sz_out;
+       bool sgl_src_valid;
+       bool sgl_dst_valid;
+       struct qat_alg_fixed_buf_list sgl_src;
+       struct qat_alg_fixed_buf_list sgl_dst;
+};
 
 void qat_bl_free_bufl(struct adf_accel_dev *accel_dev,
-                     struct qat_crypto_request_buffs *buf);
+                     struct qat_request_buffs *buf);
 int qat_bl_sgl_to_bufl(struct adf_accel_dev *accel_dev,
                       struct scatterlist *sgl,
                       struct scatterlist *sglout,
-                      struct qat_crypto_request_buffs *buf,
+                      struct qat_request_buffs *buf,
                       gfp_t flags);
 
 #endif
index df3c738..bb11635 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/slab.h>
 #include "adf_accel_devices.h"
 #include "icp_qat_fw_la.h"
+#include "qat_bl.h"
 
 struct qat_instance_backlog {
        struct list_head list;
@@ -35,39 +36,6 @@ struct qat_crypto_instance {
        struct qat_instance_backlog backlog;
 };
 
-#define QAT_MAX_BUFF_DESC      4
-
-struct qat_alg_buf {
-       u32 len;
-       u32 resrvd;
-       u64 addr;
-} __packed;
-
-struct qat_alg_buf_list {
-       u64 resrvd;
-       u32 num_bufs;
-       u32 num_mapped_bufs;
-       struct qat_alg_buf bufers[];
-} __packed;
-
-struct qat_alg_fixed_buf_list {
-       struct qat_alg_buf_list sgl_hdr;
-       struct qat_alg_buf descriptors[QAT_MAX_BUFF_DESC];
-} __packed __aligned(64);
-
-struct qat_crypto_request_buffs {
-       struct qat_alg_buf_list *bl;
-       dma_addr_t blp;
-       struct qat_alg_buf_list *blout;
-       dma_addr_t bloutp;
-       size_t sz;
-       size_t sz_out;
-       bool sgl_src_valid;
-       bool sgl_dst_valid;
-       struct qat_alg_fixed_buf_list sgl_src;
-       struct qat_alg_fixed_buf_list sgl_dst;
-};
-
 struct qat_crypto_request;
 
 struct qat_crypto_request {
@@ -80,7 +48,7 @@ struct qat_crypto_request {
                struct aead_request *aead_req;
                struct skcipher_request *skcipher_req;
        };
-       struct qat_crypto_request_buffs buf;
+       struct qat_request_buffs buf;
        void (*cb)(struct icp_qat_fw_la_resp *resp,
                   struct qat_crypto_request *req);
        union {