1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2 /* Copyright(c) 2022 Intel Corporation */
3 #ifndef QAT_ALGS_SEND_H
4 #define QAT_ALGS_SEND_H
5 
6 #include <linux/list.h>
7 #include "adf_transport_internal.h"
8 
9 struct qat_instance_backlog {
10 	struct list_head list;
11 	spinlock_t lock; /* protects backlog list */
12 };
13 
14 struct qat_alg_req {
15 	u32 *fw_req;
16 	struct adf_etr_ring_data *tx_ring;
17 	struct crypto_async_request *base;
18 	struct list_head list;
19 	struct qat_instance_backlog *backlog;
20 };
21 
22 int qat_alg_send_message(struct qat_alg_req *req);
23 void qat_alg_send_backlog(struct qat_instance_backlog *backlog);
24 
25 #endif
26