1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef SOUND_FIREWIRE_PACKETS_BUFFER_H_INCLUDED 3*4882a593Smuzhiyun #define SOUND_FIREWIRE_PACKETS_BUFFER_H_INCLUDED 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/dma-mapping.h> 6*4882a593Smuzhiyun #include <linux/firewire.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /** 9*4882a593Smuzhiyun * struct iso_packets_buffer - manages a buffer for many packets 10*4882a593Smuzhiyun * @iso_buffer: the memory containing the packets 11*4882a593Smuzhiyun * @packets: an array, with each element pointing to one packet 12*4882a593Smuzhiyun */ 13*4882a593Smuzhiyun struct iso_packets_buffer { 14*4882a593Smuzhiyun struct fw_iso_buffer iso_buffer; 15*4882a593Smuzhiyun struct { 16*4882a593Smuzhiyun void *buffer; 17*4882a593Smuzhiyun unsigned int offset; 18*4882a593Smuzhiyun } *packets; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun int iso_packets_buffer_init(struct iso_packets_buffer *b, struct fw_unit *unit, 22*4882a593Smuzhiyun unsigned int count, unsigned int packet_size, 23*4882a593Smuzhiyun enum dma_data_direction direction); 24*4882a593Smuzhiyun void iso_packets_buffer_destroy(struct iso_packets_buffer *b, 25*4882a593Smuzhiyun struct fw_unit *unit); 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #endif 28