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