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