1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2 /* Copyright(c) 2014 - 2020 Intel Corporation */
3 #ifndef ADF_TRANSPORT_H
4 #define ADF_TRANSPORT_H
5 
6 #include "adf_accel_devices.h"
7 
8 struct adf_etr_ring_data;
9 
10 typedef void (*adf_callback_fn)(void *resp_msg);
11 
12 int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
13 		    u32 bank_num, u32 num_mgs, u32 msg_size,
14 		    const char *ring_name, adf_callback_fn callback,
15 		    int poll_mode, struct adf_etr_ring_data **ring_ptr);
16 
17 bool adf_ring_nearly_full(struct adf_etr_ring_data *ring);
18 int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg);
19 void adf_remove_ring(struct adf_etr_ring_data *ring);
20 #endif
21