[alsa-devel] Old firmware version for Dice II ASIC
Takashi Sakamoto
o-takashi at sakamocchi.jp
Thu Apr 19 14:49:50 CEST 2018
Hi Clemens,
Thanks for your comment.
On Apr 19 2018 17:54, Clemens Ladisch wrote:
> Takashi Sakamoto wrote:
>> Recently I get Alesis Multimix 12 FireWire and work for ALSA dice driver
>> to support it. This unit uses ASIC of 'WaveFront DICE II STD' and TCAT
>> extended application protocol is not supported.
>>
>> Unfortunately, the driver in v4.17-rc1 can't handle this unit, due to
>> validation of address sections for global space.
>> [...]
>> (sound/firewire/dice/dice-interface.h)
>> 175 #define GLOBAL_SAMPLE_RATE 0x05c
>> ...
>> 181 #define GLOBAL_VERSION 0x060
>> 182
>> 183 /* Some old firmware versions do not have the following global registers: */
>> ...
>> 188 #define GLOBAL_CLOCK_CAPABILITIES 0x064
>>
>> But this is not proper in my case because the maximum offset on global
>> sub-address space is 0x05c in quadlet unit.
>
> IIRC that comment was based on the documentation. Apparently, there was
> a misunderstanding of "size 0x60" vs. "up to the register at 0x60".
Aha. I'm OK.
From my curiosity, do you know which version of DICE firstly supports
GLOBAL_VERSION register? Can you read it on the documentation?
>> In my opinion, GLOBAL_VERSION offset belongs to global address space for
>> newer firmware version.
>
> I agree; if this is how the hardware behaves, then this is what the driver
> should support.
>
> The version register is checked only once (in get_subaddrs()) and does not
> actually affect the behaviour of the driver, so it would not hurt to simply
> omit that check on the old firmware. (And the "quadlets >= 90" check in
> dice_proc_read() needs to be adjusted.)
Hm. The check is applied to the other spaces such as rx/tx, so I'd like
to leave it as is. With this patch[1], ALSA dice driver can handle the
unit. In this weekend, I'll post it. Your reviewing is very helpful.
[1]
https://github.com/takaswie/snd-firewire-improve/commit/1889e06b9593e16da2812010ffd5a8e4b9bc777d
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list