ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Thu, 28 Oct 2021 13:03:25 +0000 (22:03 +0900)
committerTakashi Iwai <tiwai@suse.de>
Thu, 28 Oct 2021 15:33:11 +0000 (17:33 +0200)
commitcddcd5472abb7b8a9c37ccbcf0908b79740a01b5
tree75f78075ef4e548a50bc8b9fa7aa50617b5f7718
parent407359d44ed33974137b9158da356d53f999dcf2
ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later

A user reports functional regression for Mackie Onyx 1640i that the device
generates slow sound with ALSA oxfw driver which supports media clock
recovery. Although the device is based on OXFW971 ASIC, it does not
transfer isochronous packet with own event frequency as expected. The
device seems to adjust event frequency according to events in received
isochronous packets in the beginning of packet streaming. This is
unknown quirk.

This commit fixes the regression to turn the recovery off in driver
side. As a result, nominal frequency is used in duplex packet streaming
between device and driver. For stability of sampling rate in events of
transferred isochronous packet, 4,000 isochronous packets are skipped
in the beginning of packet streaming.

Reference: https://github.com/takaswie/snd-firewire-improve/issues/38
Fixes: 029ffc429440 ("ALSA: oxfw: perform sequence replay for media clock recovery")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211028130325.45772-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/oxfw/oxfw-stream.c
sound/firewire/oxfw/oxfw.c
sound/firewire/oxfw/oxfw.h