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