Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.12 52 lines 1.7 kB view raw
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 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_set_pcm_format(struct amdtp_stream *s, 45 snd_pcm_format_t format); 46 47void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port, 48 struct snd_rawmidi_substream *midi); 49 50int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit, 51 enum amdtp_stream_direction dir, enum cip_flags flags); 52#endif