Commit 3fda230b authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/firewire' into for-next

parents e8bfa15f 07a35edc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ config SND_OXFW
	   * Mackie(Loud) Onyx 1640i (former model)
	   * Mackie(Loud) Onyx Satellite
	   * Mackie(Loud) Tapco Link.Firewire
	   * Mackie(Loud) d.4 pro
	   * Mackie(Loud) d.2 pro/d.4 pro (built-in FireWire card with OXFW971 ASIC)
	   * Mackie(Loud) U.420/U.420d
	   * TASCAM FireOne
	   * Stanton Controllers & Systems 1 Deck/Mixer
@@ -84,7 +84,7 @@ config SND_BEBOB
	  * PreSonus FIREBOX/FIREPOD/FP10/Inspire1394
	  * BridgeCo RDAudio1/Audio5
	  * Mackie Onyx 1220/1620/1640 (FireWire I/O Card)
	  * Mackie d.2 (FireWire Option) and d.2 Pro
	  * Mackie d.2 (optional FireWire card with DM1000 ASIC)
	  * Stanton FinalScratch 2 (ScratchAmp)
	  * Tascam IF-FW/DM
	  * Behringer XENIX UFX 1204/1604
+2 −2
Original line number Diff line number Diff line
@@ -410,10 +410,10 @@ static unsigned int process_ir_ctx_payloads(struct amdtp_stream *s,
 * @s: the AMDTP stream to initialize
 * @unit: the target of the stream
 * @dir: the direction of stream
 * @flags: the packet transmission method to use
 * @flags: the details of the streaming protocol consist of cip_flags enumeration-constants.
 */
int amdtp_am824_init(struct amdtp_stream *s, struct fw_unit *unit,
		     enum amdtp_stream_direction dir, enum cip_flags flags)
		     enum amdtp_stream_direction dir, unsigned int flags)
{
	amdtp_stream_process_ctx_payloads_t process_ctx_payloads;

+1 −1
Original line number Diff line number Diff line
@@ -45,5 +45,5 @@ 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);
		     enum amdtp_stream_direction dir, unsigned int flags);
#endif
+8 −3
Original line number Diff line number Diff line
@@ -64,6 +64,11 @@
#define IT_PKT_HEADER_SIZE_CIP		8 // For 2 CIP header.
#define IT_PKT_HEADER_SIZE_NO_CIP	0 // Nothing.

// The initial firmware of OXFW970 can postpone transmission of packet during finishing
// asynchronous transaction. This module accepts 5 cycles to skip as maximum to avoid buffer
// overrun. Actual device can skip more, then this module stops the packet streaming.
#define IR_JUMBO_PAYLOAD_MAX_SKIP_CYCLES	5

static void pcm_period_work(struct work_struct *work);

/**
@@ -71,13 +76,13 @@ static void pcm_period_work(struct work_struct *work);
 * @s: the AMDTP stream to initialize
 * @unit: the target of the stream
 * @dir: the direction of stream
 * @flags: the packet transmission method to use
 * @flags: the details of the streaming protocol consist of cip_flags enumeration-constants.
 * @fmt: the value of fmt field in CIP header
 * @process_ctx_payloads: callback handler to process payloads of isoc context
 * @protocol_size: the size to allocate newly for protocol
 */
int amdtp_stream_init(struct amdtp_stream *s, struct fw_unit *unit,
		      enum amdtp_stream_direction dir, enum cip_flags flags,
		      enum amdtp_stream_direction dir, unsigned int flags,
		      unsigned int fmt,
		      amdtp_stream_process_ctx_payloads_t process_ctx_payloads,
		      unsigned int protocol_size)
@@ -316,7 +321,7 @@ unsigned int amdtp_stream_get_max_payload(struct amdtp_stream *s)
	unsigned int cip_header_size = 0;

	if (s->flags & CIP_JUMBO_PAYLOAD)
		multiplier = 5;
		multiplier = IR_JUMBO_PAYLOAD_MAX_SKIP_CYCLES;
	if (!(s->flags & CIP_NO_HEADER))
		cip_header_size = sizeof(__be32) * 2;

+3 −2
Original line number Diff line number Diff line
@@ -112,7 +112,8 @@ typedef unsigned int (*amdtp_stream_process_ctx_payloads_t)(
struct amdtp_domain;
struct amdtp_stream {
	struct fw_unit *unit;
	enum cip_flags flags;
	// The combination of cip_flags enumeration-constants.
	unsigned int flags;
	enum amdtp_stream_direction direction;
	struct mutex mutex;

@@ -184,7 +185,7 @@ struct amdtp_stream {
};

int amdtp_stream_init(struct amdtp_stream *s, struct fw_unit *unit,
		      enum amdtp_stream_direction dir, enum cip_flags flags,
		      enum amdtp_stream_direction dir, unsigned int flags,
		      unsigned int fmt,
		      amdtp_stream_process_ctx_payloads_t process_ctx_payloads,
		      unsigned int protocol_size);
Loading