Re: Old firmware version for Dice II ASIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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".

> 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.)


Regards,
Clemens
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux