• Takashi Sakamoto's avatar
    ALSA: bebob: fix model-id of unit for Apogee Ensemble · 2832bf67
    Takashi Sakamoto authored
    BugLink: https://bugs.launchpad.net/bugs/1818797
    
    [ Upstream commit 644b2e97 ]
    
    This commit fixes hard-coded model-id for an unit of Apogee Ensemble with
    a correct value. This unit uses DM1500 ASIC produced ArchWave AG (formerly
    known as BridgeCo AG).
    
    I note that this model supports three modes in the number of data channels
    in tx/rx streams; 8 ch pairs, 10 ch pairs, 18 ch pairs. The mode is
    switched by Vendor-dependent AV/C command, like:
    
    $ cd linux-firewire-utils
    $ ./firewire-request /dev/fw1 fcp 0x00ff000003dbeb0600000000 (8ch pairs)
    $ ./firewire-request /dev/fw1 fcp 0x00ff000003dbeb0601000000 (10ch pairs)
    $ ./firewire-request /dev/fw1 fcp 0x00ff000003dbeb0602000000 (18ch pairs)
    
    When switching between different mode, the unit disappears from IEEE 1394
    bus, then appears on the bus with different combination of stream formats.
    In a mode of 18 ch pairs, available sampling rate is up to 96.0 kHz, else
    up to 192.0 kHz.
    
    $ ./hinawa-config-rom-printer /dev/fw1
    { 'bus-info': { 'adj': False,
                    'bmc': True,
                    'chip_ID': 21474898341,
                    'cmc': True,
                    'cyc_clk_acc': 100,
                    'generation': 2,
                    'imc': True,
                    'isc': True,
                    'link_spd': 2,
                    'max_ROM': 1,
                    'max_rec': 512,
                    'name': '1394',
                    'node_vendor_ID': 987,
                    'pmc': False},
      'root-directory': [ ['HARDWARE_VERSION', 19],
                          [ 'NODE_CAPABILITIES',
                            { 'addressing': {'64': True, 'fix': True, 'prv': False},
                              'misc': {'int': False, 'ms': False, 'spt': True},
                              'state': { 'atn': False,
                                         'ded': False,
                                         'drq': True,
                                         'elo': False,
                                         'init': False,
                                         'lst': True,
                                         'off': False},
                              'testing': {'bas': False, 'ext': False}}],
                          ['VENDOR', 987],
                          ['DESCRIPTOR', 'Apogee Electronics'],
                          ['MODEL', 126702],
                          ['DESCRIPTOR', 'Ensemble'],
                          ['VERSION', 5297],
                          [ 'UNIT',
                            [ ['SPECIFIER_ID', 41005],
                              ['VERSION', 65537],
                              ['MODEL', 126702],
                              ['DESCRIPTOR', 'Ensemble']]],
                          [ 'DEPENDENT_INFO',
                            [ ['SPECIFIER_ID', 2037],
                              ['VERSION', 1],
                              [(58, 'IMMEDIATE'), 16777159],
                              [(59, 'IMMEDIATE'), 1048576],
                              [(60, 'IMMEDIATE'), 16777159],
                              [(61, 'IMMEDIATE'), 6291456]]]]}
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    Signed-off-by: default avatarJuerg Haefliger <juergh@canonical.com>
    Signed-off-by: default avatarKhalid Elmously <khalid.elmously@canonical.com>
    2832bf67
bebob.c 14.6 KB