• Takashi Sakamoto's avatar
    ALSA: bebob: Add support for M-Audio special Firewire series · 3149ac48
    Takashi Sakamoto authored
    This commit allows this driver to support some models which M-Audio produces
    with DM1000 but its firmware is special. They are:
     - Firewire 1814
     - ProjectMix I/O
    
    They have heavily customized firmware. The usual operations can't be applied to
    them. For this reason, this commit adds a model specific member to 'struct
    snd_bebob' and some model specific functions. Some parameters are write-only so
    this commit also adds control interface for applications to set them.
    
    M-Audio special firmware quirks:
     - Just after powering on, they wait to download firmware. This state is
       changed when receiving cue. Then bus reset is generated and the device is
       recognized as a different model with the uploaded firmware.
     - They don't respond against BridgeCo AV/C extension commands. So drivers
       can't get their stream formations and so on.
     - They do not start to transmit packets only by establishing connection but
       also by receiving SIGNAL FORMAT command.
     - After booting up, they often fail to send response against driver's request
       due to mismatch of gap_count.
    
    This module don't support to upload firmware.
    
    Tested-by: Darren Anderson <darrena092@gmail.com> (ProjectMix I/O)
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    3149ac48
bebob.c 12.7 KB