blob: 99e963c271e13f06e3ac9114be584a2670666347 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Clemens Ladisch31ef9132011-03-15 07:53:21 +01002#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 */
13struct iso_packets_buffer {
14 struct fw_iso_buffer iso_buffer;
15 struct {
16 void *buffer;
17 unsigned int offset;
18 } *packets;
19};
20
21int 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);
24void iso_packets_buffer_destroy(struct iso_packets_buffer *b,
25 struct fw_unit *unit);
26
27#endif