#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_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

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_set_pcm_format(struct amdtp_stream *s,
				snd_pcm_format_t format);

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, enum cip_flags flags);
#endif
52d42810bed95100a3d912679d8864421ec'>refs</a><a href='/cgit.cgi/linux/net-next.git/log/net/sched/sch_drr.c'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/net/sched/sch_drr.c?id=2ad5d52d42810bed95100a3d912679d8864421ec'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/net/sched/sch_drr.c?id=2ad5d52d42810bed95100a3d912679d8864421ec'>commit</a><a class='active' href='/cgit.cgi/linux/net-next.git/diff/net/sched/sch_drr.c?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/net/sched/sch_drr.c'>
<input type='hidden' name='id' value='2ad5d52d42810bed95100a3d912679d8864421ec'/><input type='hidden' name='id2' value='83b5d1e3d3013dbf90645a5d07179d018c8243fa'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/diff/?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>root</a>/<a href='/cgit.cgi/linux/net-next.git/diff/net?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>net</a>/<a href='/cgit.cgi/linux/net-next.git/diff/net/sched?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>sched</a>/<a href='/cgit.cgi/linux/net-next.git/diff/net/sched/sch_drr.c?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>sch_drr.c</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='2ad5d52d42810bed95100a3d912679d8864421ec'/><input type='hidden' name='id2' value='83b5d1e3d3013dbf90645a5d07179d018c8243fa'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=2ad5d52d42810bed95100a3d912679d8864421ec&amp;id2=83b5d1e3d3013dbf90645a5d07179d018c8243fa'>Diffstat</a> (limited to 'net/sched/sch_drr.c')</div><table summary='diffstat' class='diffstat'>