1#ifndef SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
2#define SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
3
4#include <sound/pcm.h>
5#include <sound/rawmidi.h>
6
7#include "amdtp-stream.h"
8
9#define AM824_IN_PCM_FORMAT_BITS SNDRV_PCM_FMTBIT_S32
10
11#define AM824_OUT_PCM_FORMAT_BITS SNDRV_PCM_FMTBIT_S32
12
13
14
15
16
17#define AM824_MAX_CHANNELS_FOR_PCM 64
18
19
20
21
22
23
24
25
26
27#define AM824_MAX_CHANNELS_FOR_MIDI 1
28
29int amdtp_am824_set_parameters(struct amdtp_stream *s, unsigned int rate,
30 unsigned int pcm_channels,
31 unsigned int midi_ports,
32 bool double_pcm_frames);
33
34void amdtp_am824_set_pcm_position(struct amdtp_stream *s, unsigned int index,
35 unsigned int position);
36
37void amdtp_am824_set_midi_position(struct amdtp_stream *s,
38 unsigned int position);
39
40int amdtp_am824_add_pcm_hw_constraints(struct amdtp_stream *s,
41 struct snd_pcm_runtime *runtime);
42
43void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port,
44 struct snd_rawmidi_substream *midi);
45
46int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
47 enum amdtp_stream_direction dir, enum cip_flags flags);
48#endif
49