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