1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 231ef9134SClemens Ladisch #ifndef SOUND_FIREWIRE_PACKETS_BUFFER_H_INCLUDED 331ef9134SClemens Ladisch #define SOUND_FIREWIRE_PACKETS_BUFFER_H_INCLUDED 431ef9134SClemens Ladisch 531ef9134SClemens Ladisch #include <linux/dma-mapping.h> 631ef9134SClemens Ladisch #include <linux/firewire.h> 731ef9134SClemens Ladisch 831ef9134SClemens Ladisch /** 931ef9134SClemens Ladisch * struct iso_packets_buffer - manages a buffer for many packets 1031ef9134SClemens Ladisch * @iso_buffer: the memory containing the packets 1131ef9134SClemens Ladisch * @packets: an array, with each element pointing to one packet 1231ef9134SClemens Ladisch */ 1331ef9134SClemens Ladisch struct iso_packets_buffer { 1431ef9134SClemens Ladisch struct fw_iso_buffer iso_buffer; 1531ef9134SClemens Ladisch struct { 1631ef9134SClemens Ladisch void *buffer; 1731ef9134SClemens Ladisch unsigned int offset; 1831ef9134SClemens Ladisch } *packets; 1931ef9134SClemens Ladisch }; 2031ef9134SClemens Ladisch 2131ef9134SClemens Ladisch int iso_packets_buffer_init(struct iso_packets_buffer *b, struct fw_unit *unit, 2231ef9134SClemens Ladisch unsigned int count, unsigned int packet_size, 2331ef9134SClemens Ladisch enum dma_data_direction direction); 2431ef9134SClemens Ladisch void iso_packets_buffer_destroy(struct iso_packets_buffer *b, 2531ef9134SClemens Ladisch struct fw_unit *unit); 2631ef9134SClemens Ladisch 2731ef9134SClemens Ladisch #endif 28