Blame view

sound/firewire/amdtp-am824.h 1.64 KB
5955815e7   Takashi Sakamoto   ALSA: firewire-li...
1
2
  #ifndef SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
  #define SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
bc8500da3   Takashi Sakamoto   ALSA: firewire-li...
3
  #include <sound/pcm.h>
03e2a67ee   Takashi Sakamoto   ALSA: firewire-li...
4
  #include <sound/rawmidi.h>
bc8500da3   Takashi Sakamoto   ALSA: firewire-li...
5

5955815e7   Takashi Sakamoto   ALSA: firewire-li...
6
  #include "amdtp-stream.h"
df075feef   Takashi Sakamoto   ALSA: firewire-li...
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  #define AM824_IN_PCM_FORMAT_BITS	SNDRV_PCM_FMTBIT_S32
  
  #define AM824_OUT_PCM_FORMAT_BITS	(SNDRV_PCM_FMTBIT_S16 | \
  					 SNDRV_PCM_FMTBIT_S32)
  
  /*
   * This module supports maximum 64 PCM channels for one PCM stream
   * This is for our convenience.
   */
  #define AM824_MAX_CHANNELS_FOR_PCM	64
  
  /*
   * AMDTP packet can include channels for MIDI conformant data.
   * Each MIDI conformant data channel includes 8 MPX-MIDI data stream.
   * Each MPX-MIDI data stream includes one data stream from/to MIDI ports.
   *
   * This module supports maximum 1 MIDI conformant data channels.
   * Then this AMDTP packets can transfer maximum 8 MIDI data streams.
   */
  #define AM824_MAX_CHANNELS_FOR_MIDI	1
51c29fd21   Takashi Sakamoto   ALSA: firewire-li...
27
28
29
30
  int amdtp_am824_set_parameters(struct amdtp_stream *s, unsigned int rate,
  			       unsigned int pcm_channels,
  			       unsigned int midi_ports,
  			       bool double_pcm_frames);
f65be911c   Takashi Sakamoto   ALSA: firewire-li...
31
32
33
34
35
  void amdtp_am824_set_pcm_position(struct amdtp_stream *s, unsigned int index,
  				 unsigned int position);
  
  void amdtp_am824_set_midi_position(struct amdtp_stream *s,
  				   unsigned int position);
bc8500da3   Takashi Sakamoto   ALSA: firewire-li...
36
37
  int amdtp_am824_add_pcm_hw_constraints(struct amdtp_stream *s,
  				       struct snd_pcm_runtime *runtime);
df075feef   Takashi Sakamoto   ALSA: firewire-li...
38
39
  void amdtp_am824_set_pcm_format(struct amdtp_stream *s,
  				snd_pcm_format_t format);
03e2a67ee   Takashi Sakamoto   ALSA: firewire-li...
40
41
  void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port,
  			      struct snd_rawmidi_substream *midi);
5955815e7   Takashi Sakamoto   ALSA: firewire-li...
42
43
44
  int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
  		     enum amdtp_stream_direction dir, enum cip_flags flags);
  #endif