[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251020001926.GA52936@workstation.local>
Date: Mon, 20 Oct 2025 09:19:26 +0900
From: Takashi Sakamoto <o-takashi@...amocchi.jp>
To: linux1394-devel@...ts.sourceforge.net
Cc: linux-kernel@...r.kernel.org, linux-sound@...r.kernel.org
Subject: Re: [PATCH 0/4] firewire: core: handle TASCAM
FW-1884/FW-1804/FW-1082 quirk
On Sat, Oct 18, 2025 at 12:55:28PM +0900, Takashi Sakamoto wrote:
> Hi,
>
> In 2003, TEAC Corporation had released FW-1884/FW-1804/FW-1082 in its
> TASCAM brand. These devices are already supported by a driver in ALSA
> firewire stack, but they have an interoperability issue related to
> the speed of asynchronous transactions and isochronous transmissions.
> When operating at the speed described in configuration ROM, they are
> too lazy to respond, and eventually frozen.
>
> The most likely cause of this issue is a mismatch in the gap count
> between the initiators and receivers. Theoretically, this can be
> resolved by transmitting phy configuration packets to optimize gap count.
> Nevertheless, this approach has proven ineffective, suggesting that the
> device firmware may contain a bug causing the issue.
>
> From my experience, these devices operate more reliably at lower
> transaction and transmission speeds, which provides a practical
> mitigation.
>
> This patch series addresses the interoperability issue. The core function
> of Linux FireWire subsystem is changed to read the entire configuration
> ROM at the lowest speed (S100), and to identify these devices based on its
> contents. Once identified, their maximum speed is limited to S200. The
> ALSA driver then performs asynchronous requests and isochronous
> transmission at that speed to prevent device freezes.
>
> Takashi Sakamoto (4):
> firewire: core: code refactoring to compute transaction speed
> firewire: core: determine transaction speed after detecting quirks
> firewire: core: handle device quirk of TASCAM FW-1884/FW-1804/FW-1082
> ALSA: firewire-tascam: reserve resources for transferred isochronous
> packets at S400
>
> drivers/firewire/core-device.c | 86 +++++++++++++++------------
> include/linux/firewire.h | 3 +
> sound/firewire/tascam/tascam-stream.c | 21 +++----
> 3 files changed, 63 insertions(+), 47 deletions(-)
>
>
> base-commit: 15f9610fc96ac6fd2844e63f7bf5a0b08e1c31c8
Applied to for-next branch.
To sound subsystem maintainer, I'll send the 4th patch to mainline as a
part of firewire subsystem updates in next merge window.
Regards
Takashi Sakamoto
`
Powered by blists - more mailing lists