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
8struct adf_etr_ring_data;
9
10typedef void (*adf_callback_fn)(void *resp_msg);
11
12int 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
17bool adf_ring_nearly_full(struct adf_etr_ring_data *ring);
18int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg);
19void adf_remove_ring(struct adf_etr_ring_data *ring);
20#endif
21