From: Takashi Sakamoto Date: Fri, 29 Aug 2014 04:40:45 +0000 (+0900) Subject: ALSA: firewire-lib/dice: add arrangements of PCM pointer and interrupts for Dice... X-Git-Tag: fixes-v3.17-rc4~27^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65845f29bec6bc17f80eff25c3bc39bcf3be9bf9;p=pandora-kernel.git ALSA: firewire-lib/dice: add arrangements of PCM pointer and interrupts for Dice quirk In IEC 61883-6, one data block transfers one event. In ALSA, the event equals one PCM frame, hence one data block transfers one PCM frame. But Dice has a quirk at higher sampling rate (176.4/192.0 kHz) that one data block transfers two PCM frames. Commit 10550bea44a8 ("ALSA: dice/firewire-lib: Keep dualwire mode but obsolete CIP_HI_DUALWIRE") moved some codes related to this quirk into Dice driver. But the commit forgot to add arrangements for PCM period interrupts and DMA pointer updates. As a result, Dice driver cannot work correctly at higher sampling rate. This commit adds 'double_pcm_frames' parameter to amdtp structure for this quirk. When this parameter is set, PCM period interrupts and DMA pointer updates occur at double speed than in IEC 61883-6. Reported-by: Daniel Robbins Fixes: 10550bea44a8 ("ALSA: dice/firewire-lib: Keep dualwire mode but obsolete CIP_HI_DUALWIRE") Signed-off-by: Takashi Sakamoto Cc: # 3.16 Signed-off-by: Takashi Iwai --- Reading git-diff-tree failed