root/sound/firewire/amdtp-am824.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   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  * 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_midi_trigger(struct amdtp_stream *s, unsigned int port,
  45                               struct snd_rawmidi_substream *midi);
  46 
  47 int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
  48                      enum amdtp_stream_direction dir, enum cip_flags flags);
  49 #endif

/* [<][>][^][v][top][bottom][index][help] */