• Takashi Sakamoto's avatar
    ALSA: dice: improve support for ancient firmware for DICE · c1a36101
    Takashi Sakamoto authored
    In early stage of firmware SDK, DICE seems to lose its backward
    compatibility due to some registers on global address section. I found
    this with Alesis Multimix 12 FireWire with ancient firmware (approx.
    shipped version).
    
    According to retrieved log from the unit, global section has 96 byte
    space. On the other hand, current version of ALSA dice driver assumes
    that all of supported unit has at least 100 byte space.
    
    $ ./firewire-request /dev/fw1 read 0xffffe0000000 28
    result: 000: 00 00 00 0a 00 00 00 18 00 00 00 22 00 00 00 8a
    result: 010: 00 00 00 ac 00 00 01 12 00 00 00 00 00 00 00 00
    result: 020: 00 00 00 00 00 00 00 00
    
    This commit adds support for the ancient firmware. Check of global section
    is loosened to accept the smaller space. The lack of information is
    already compensated by hard-coded parameters.
    
    I experienced that the latest version of Windows driver for this model
    can't handle this unit, too. This means that TCAT releases firmware SDK
    without backward compatibility for the ancient firmware.
    
    Below list is a early history of driver/firmware package released by
    Alesis. I investigated on wayback machine on Internet Archive:
     * Unknown: PAL v1.0.41.2, firmware v1.0.3
     * Mar 2006: PAL v1.54.0, firmware v1.0.4
     * Dec 2006: PAL v2.0.0.2, firmware v2.0
     * Jun 2007: PAL v3.0.41.5, firmware v2.0
     * Jul 2007: PAL v3.0.56.2. firmware v2.0
     * Jan 2008: PAL v3.0.81.1080, firmware v2.0
    
    If I can assume that firmware version is the same as DICE version, DICE
    version for the issued firmware may be v1.0.3. According to code base of
    userspace driver project (FFADO), I can read DICE v1.0.4 supports global
    space larger than 100 byte. I guess the smaller space of global section is
    a feature of DICE v1.0.3.
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    c1a36101
dice-interface.h 11.7 KB