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