xref: /linux/drivers/crypto/intel/qat/qat_common/adf_transport.h (revision a4b16dad46576ce08ecb660fc923d0857dcae107)
11532e31fSGiovanni Cabiddu /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
21532e31fSGiovanni Cabiddu /* Copyright(c) 2014 - 2020 Intel Corporation */
3a672a9dcSTadeusz Struk #ifndef ADF_TRANSPORT_H
4a672a9dcSTadeusz Struk #define ADF_TRANSPORT_H
5a672a9dcSTadeusz Struk 
6a672a9dcSTadeusz Struk #include "adf_accel_devices.h"
7a672a9dcSTadeusz Struk 
8a672a9dcSTadeusz Struk struct adf_etr_ring_data;
9a672a9dcSTadeusz Struk 
10a672a9dcSTadeusz Struk typedef void (*adf_callback_fn)(void *resp_msg);
11a672a9dcSTadeusz Struk 
12a672a9dcSTadeusz Struk int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
132bfd2276SWojciech Ziemba 		    u32 bank_num, u32 num_mgs, u32 msg_size,
14a672a9dcSTadeusz Struk 		    const char *ring_name, adf_callback_fn callback,
15a672a9dcSTadeusz Struk 		    int poll_mode, struct adf_etr_ring_data **ring_ptr);
16a672a9dcSTadeusz Struk 
17*38682383SGiovanni Cabiddu bool adf_ring_nearly_full(struct adf_etr_ring_data *ring);
182bfd2276SWojciech Ziemba int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg);
19a672a9dcSTadeusz Struk void adf_remove_ring(struct adf_etr_ring_data *ring);
20a672a9dcSTadeusz Struk #endif
21