diff options
Diffstat (limited to 'sound/firewire/amdtp-am824.h')
-rw-r--r-- | sound/firewire/amdtp-am824.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/sound/firewire/amdtp-am824.h b/sound/firewire/amdtp-am824.h new file mode 100644 index 000000000000..73b07b3109db --- /dev/null +++ b/sound/firewire/amdtp-am824.h | |||
@@ -0,0 +1,52 @@ | |||
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_S16 | \ | ||
12 | SNDRV_PCM_FMTBIT_S32) | ||
13 | |||
14 | /* | ||
15 | * This module supports maximum 64 PCM channels for one PCM stream | ||
16 | * This is for our convenience. | ||
17 | */ | ||
18 | #define AM824_MAX_CHANNELS_FOR_PCM 64 | ||
19 | |||
20 | /* | ||
21 | * AMDTP packet can include channels for MIDI conformant data. | ||
22 | * Each MIDI conformant data channel includes 8 MPX-MIDI data stream. | ||
23 | * Each MPX-MIDI data stream includes one data stream from/to MIDI ports. | ||
24 | * | ||
25 | * This module supports maximum 1 MIDI conformant data channels. | ||
26 | * Then this AMDTP packets can transfer maximum 8 MIDI data streams. | ||
27 | */ | ||
28 | #define AM824_MAX_CHANNELS_FOR_MIDI 1 | ||
29 | |||
30 | int 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 | |||
35 | void amdtp_am824_set_pcm_position(struct amdtp_stream *s, unsigned int index, | ||
36 | unsigned int position); | ||
37 | |||
38 | void amdtp_am824_set_midi_position(struct amdtp_stream *s, | ||
39 | unsigned int position); | ||
40 | |||
41 | int amdtp_am824_add_pcm_hw_constraints(struct amdtp_stream *s, | ||
42 | struct snd_pcm_runtime *runtime); | ||
43 | |||
44 | void amdtp_am824_set_pcm_format(struct amdtp_stream *s, | ||
45 | snd_pcm_format_t format); | ||
46 | |||
47 | void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port, | ||
48 | struct snd_rawmidi_substream *midi); | ||
49 | |||
50 | int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit, | ||
51 | enum amdtp_stream_direction dir, enum cip_flags flags); | ||
52 | #endif | ||