50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
 | |
| #define SOUND_FIREWIRE_AMDTP_AM824_H_INCLUDED
 | |
| 
 | |
| #include <sound/pcm.h>
 | |
| #include <sound/rawmidi.h>
 | |
| 
 | |
| #include "amdtp-stream.h"
 | |
| 
 | |
| #define AM824_IN_PCM_FORMAT_BITS	SNDRV_PCM_FMTBIT_S32
 | |
| 
 | |
| #define AM824_OUT_PCM_FORMAT_BITS	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
 | |
| 
 | |
| int amdtp_am824_set_parameters(struct amdtp_stream *s, unsigned int rate,
 | |
| 			       unsigned int pcm_channels,
 | |
| 			       unsigned int midi_ports,
 | |
| 			       bool double_pcm_frames);
 | |
| 
 | |
| 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);
 | |
| 
 | |
| int amdtp_am824_add_pcm_hw_constraints(struct amdtp_stream *s,
 | |
| 				       struct snd_pcm_runtime *runtime);
 | |
| 
 | |
| void amdtp_am824_midi_trigger(struct amdtp_stream *s, unsigned int port,
 | |
| 			      struct snd_rawmidi_substream *midi);
 | |
| 
 | |
| int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
 | |
| 		     enum amdtp_stream_direction dir, unsigned int flags);
 | |
| #endif
 |