1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 /* $FreeBSD$ */
4 #ifndef ADF_TRANSPORT_H
5 #define ADF_TRANSPORT_H
6 
7 #include "adf_accel_devices.h"
8 
9 struct adf_etr_ring_data;
10 
11 typedef void (*adf_callback_fn)(void *resp_msg);
12 
13 int adf_create_ring(struct adf_accel_dev *accel_dev,
14 		    const char *section,
15 		    u32 bank_num,
16 		    u32 num_mgs,
17 		    u32 msg_size,
18 		    const char *ring_name,
19 		    adf_callback_fn callback,
20 		    int poll_mode,
21 		    struct adf_etr_ring_data **ring_ptr);
22 
23 int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg);
24 void adf_remove_ring(struct adf_etr_ring_data *ring);
25 int adf_poll_bank(u32 accel_id, u32 bank_num, u32 quota);
26 int adf_poll_all_banks(u32 accel_id, u32 quota);
27 #endif /* ADF_TRANSPORT_H */
28