]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ALSA: firewire-motu: cancel chunk alignment for protocol version 2
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 18 Jun 2018 12:07:54 +0000 (21:07 +0900)
committerTakashi Iwai <tiwai@suse.de>
Tue, 19 Jun 2018 18:44:52 +0000 (20:44 +0200)
For MOTU protocol version 2, this driver arranges the number of data
chunks to align chunks to quadlet data channel. However, MOTU Traveler
has padding bytes in the end of data block at high clock mode.

This commit removes the arrangement. Fortunately, at low and middle clock
mode, supported model for v2 protocol (828mkII) gets no influence from this
change because all of combination for data chunks are just aligned to
quadlet data channel.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/motu/motu-protocol-v2.c

index f25b1ba118a20bf891dbe544dc5824ff2107a01f..e5bd3ac0230009155648eccbeb979058e5d4411d 100644 (file)
@@ -173,12 +173,9 @@ static void calculate_fixed_part(struct snd_motu_packet_format *formats,
        pcm_chunks[0] += 2;
        pcm_chunks[1] += 2;
 
-       /* This part should be multiples of 4. */
-       formats->fixed_part_pcm_chunks[0] = round_up(2 + pcm_chunks[0], 4) - 2;
-       formats->fixed_part_pcm_chunks[1] = round_up(2 + pcm_chunks[1], 4) - 2;
-       if (flags & SND_MOTU_SPEC_SUPPORT_CLOCK_X4)
-               formats->fixed_part_pcm_chunks[2] =
-                                       round_up(2 + pcm_chunks[2], 4) - 2;
+       formats->fixed_part_pcm_chunks[0] = pcm_chunks[0];
+       formats->fixed_part_pcm_chunks[1] = pcm_chunks[1];
+       formats->fixed_part_pcm_chunks[2] = pcm_chunks[2];
 }
 
 static void calculate_differed_part(struct snd_motu_packet_format *formats,