Skip to content
Snippets Groups Projects
  1. Nov 13, 2020
  2. Oct 12, 2020
  3. Oct 07, 2020
  4. Sep 11, 2020
  5. Sep 02, 2020
  6. Aug 23, 2020
    • Takashi Sakamoto's avatar
      ALSA: firewire-digi00x: exclude Avid Adrenaline from detection · acd46a6b
      Takashi Sakamoto authored
      
      Avid Adrenaline is reported that ALSA firewire-digi00x driver is bound to.
      However, as long as he investigated, the design of this model is hardly
      similar to the one of Digi 00x family. It's better to exclude the model
      from modalias of ALSA firewire-digi00x driver.
      
      This commit changes device entries so that the model is excluded.
      
      $ python3 crpp < ~/git/am-config-rom/misc/avid-adrenaline.img
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  04203a9c  bus_info_length 4, crc_length 32, crc 15004
      404  31333934  bus_name "1394"
      408  e064a002  irmc 1, cmc 1, isc 1, bmc 0, cyc_clk_acc 100, max_rec 10 (2048)
      40c  00a07e01  company_id 00a07e     |
      410  00085257  device_id 0100085257  | EUI-64 00a07e0100085257
      
                     root directory
                     -----------------------------------------------------------------
      414  0005d08c  directory_length 5, crc 53388
      418  0300a07e  vendor
      41c  8100000c  --> descriptor leaf at 44c
      420  0c008380  node capabilities
      424  8d000002  --> eui-64 leaf at 42c
      428  d1000004  --> unit directory at 438
      
                     eui-64 leaf at 42c
                     -----------------------------------------------------------------
      42c  0002410f  leaf_length 2, crc 16655
      430  00a07e01  company_id 00a07e     |
      434  00085257  device_id 0100085257  | EUI-64 00a07e0100085257
      
                     unit directory at 438
                     -----------------------------------------------------------------
      438  0004d6c9  directory_length 4, crc 54985
      43c  1200a02d  specifier id: 1394 TA
      440  13014001  version: Vender Unique and AV/C
      444  17000001  model
      448  81000009  --> descriptor leaf at 46c
      
                     descriptor leaf at 44c
                     -----------------------------------------------------------------
      44c  00077205  leaf_length 7, crc 29189
      450  00000000  textual descriptor
      454  00000000  minimal ASCII
      458  41766964  "Avid"
      45c  20546563  " Tec"
      460  686e6f6c  "hnol"
      464  6f677900  "ogy"
      468  00000000
      
                     descriptor leaf at 46c
                     -----------------------------------------------------------------
      46c  000599a5  leaf_length 5, crc 39333
      470  00000000  textual descriptor
      474  00000000  minimal ASCII
      478  41647265  "Adre"
      47c  6e616c69  "nali"
      480  6e650000  "ne"
      
      Reported-by: default avatarSimon Wood <simon@mungewell.org>
      Fixes: 9edf723f ("ALSA: firewire-digi00x: add skeleton for Digi 002/003 family")
      Cc: <stable@vger.kernel.org> # 4.4+
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200823075545.56305-1-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      acd46a6b
    • Takashi Sakamoto's avatar
      ALSA; firewire-tascam: exclude Tascam FE-8 from detection · 0bd8bce8
      Takashi Sakamoto authored
      
      Tascam FE-8 is known to support communication by asynchronous transaction
      only. The support can be implemented in userspace application and
      snd-firewire-ctl-services project has the support. However, ALSA
      firewire-tascam driver is bound to the model.
      
      This commit changes device entries so that the model is excluded. In a
      commit 53b3ffee ("ALSA: firewire-tascam: change device probing
      processing"), I addressed to the concern that version field in
      configuration differs depending on installed firmware. However, as long
      as I checked, the version number is fixed. It's safe to return version
      number back to modalias.
      
      Fixes: 53b3ffee ("ALSA: firewire-tascam: change device probing processing")
      Cc: <stable@vger.kernel.org> # 4.4+
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200823075537.56255-1-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0bd8bce8
  7. Jul 07, 2020
  8. Jun 15, 2020
  9. May 25, 2020
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) · e0b2db35
      Takashi Sakamoto authored
      
      UltraLite-mk3 was shipped 2008 by MOTU. This model has two lineups;
      FireWire-only and FireWire/USB2.0 Hybrid model. Additionally, the latter
      has two variants in respect of the type of IEEE 1394 connector; alpha
      and beta connector.
      
      This commit adds support for the FireWire-only model, which is already
      discontinued.
      
      $ python3 crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  0410353a  bus_info_length 4, crc_length 16, crc 13626
      404  31333934  bus_name "1394"
      408  20ff7000  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
      40c  0001f200  company_id 0001f2     |
      410  000902c7  device_id 00000902c7  | EUI-64 0001f200000902c7
      
                     root directory
                     -----------------------------------------------------------------
      414  0004ef04  directory_length 4, crc 61188
      418  030001f2  vendor
      41c  0c0083c0  node capabilities per IEEE 1394
      420  d1000002  --> unit directory at 428
      424  8d000005  --> eui-64 leaf at 438
      
                     unit directory at 428
                     -----------------------------------------------------------------
      428  00035556  directory_length 3, crc 21846
      42c  120001f2  specifier id
      430  13000019  version
      434  17100800  model
      
                     eui-64 leaf at 438
                     -----------------------------------------------------------------
      438  0002f3c5  leaf_length 2, crc 62405
      43c  0001f200  company_id 0001f2     |
      440  000902c7  device_id 00000902c7  | EUI-64 0001f200000902c7
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200523071733.170129-1-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e0b2db35
  10. May 22, 2020
  11. May 11, 2020
  12. May 10, 2020
    • Takashi Sakamoto's avatar
      ALSA: fireface: add support for RME Fireface UFX (untested) · 1f65e668
      Takashi Sakamoto authored
      
      Fireface UFX was shipped by RME GmbH in 2010, and now discontinued.
      Although this model has some enhanced feature which Fireface 802
      doesn't have (e.g. on-board USB mass storage device class, configuration
      interface with color display), the functionality relevant to
      packet communication on IEEE 1394 bus seems to be the same as
      Fireface 802 (e.g. available number of channels for PCM frame in
      each sampling transfer frequency).
      
      With the assumption, this commit adds support for Fireface UFX. In ALSA
      fireface driver, these two models are handled as the same one.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-7-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1f65e668
    • Takashi Sakamoto's avatar
      ALSA: fireface: add support for RME FireFace 802 · 062bb452
      Takashi Sakamoto authored
      
      Fireface 802 was shipped by RME GmbH in 2014. This model supports later
      protocol for management of isochronous communication and synchronization
      of sampling transmission frequency.
      
      This model consists of below ICs:
       * TI TSB41AB2
       * Xilinx Spartan-6 FPGA XC6SLX16
       * TI TMS320 C6747
       * SMSC USB3250
      
      Especially, this model just supports IEEE 1394a, against its name which
      evokes Fireface 800.
      
      This commit adds support for Fireface 802 (tested). Userspace applications
      can transfer PCM frames and MIDI messages via ALSA PCM/Rawmidi interface.
      I note that 4 channels for ADAt1 and ADAT2 are disabled at higher sampling
      transfer frequency since isochronous resources reservation fails due to
      bandwidth limitation of IEEE 1394a.
      
      The value read from LATTER_SYNC_STATUS register is slightly different
      from the one of Fireface UCX. The higher 4 bits and lower 4 bits are
      swapped within the same byte.
      
      Without any assist of userspace application, transmitted MIDI messages
      from the device are not going to be processed. For detail, please refer
      to my comment in code of latter protocol.
      
      $ python crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  0404ffff  bus_info_length 4, crc_length 4, crc 65535 (should be 26805)
      404  31333934  bus_name "1394"
      408  20008000  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 8 (512)
      40c  000a3504  company_id 000a35     |
      410  38077423  device_id 0438077423  | EUI-64 000a350438077423
      
                     root directory
                     -----------------------------------------------------------------
      414  0005ffff  directory_length 5, crc 65535 (should be 9514)
      418  0c0083c0  node capabilities per IEEE 1394
      41c  03000a35  vendor
      420  8100000b  --> descriptor leaf at 44c
      424  8d000007  --> eui-64 leaf at 440
      428  d1000001  --> unit directory at 42c
      
                     unit directory at 42c
                     -----------------------------------------------------------------
      42c  0004ffff  directory_length 4, crc 65535 (should be 45134)
      430  12000a35  specifier id
      434  13000005  version
      438  17101800  model
      43c  81000008  --> descriptor leaf at 45c
      
                     eui-64 leaf at 440
                     -----------------------------------------------------------------
      440  0002ffff  leaf_length 2, crc 65535 (should be 60131)
      444  000a3504  company_id 000a35     |
      448  38077423  device_id 0438077423  | EUI-64 000a350438077423
      
                     descriptor leaf at 44c
                     -----------------------------------------------------------------
      44c  0003ffff  leaf_length 3, crc 65535 (should be 469)
      450  00000000  textual descriptor
      454  00000000  minimal ASCII
      458  524d4521  "RME!"
      
                     descriptor leaf at 45c
                     -----------------------------------------------------------------
      45c  0005ffff  leaf_length 5, crc 65535 (should be 10561)
      460  00000000  textual descriptor
      464  00000000  minimal ASCII
      468  46697265  "Fire"
      46c  66616365  "face"
      470  20383032  " 802"
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-6-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      062bb452
    • Takashi Sakamoto's avatar
      ALSA: fireface: code refactoring to decide name of sound card · 782222ba
      Takashi Sakamoto authored
      
      This commit uses enumeration constants as index of table for the
      list of name of sound card.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-5-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      782222ba
    • Takashi Sakamoto's avatar
      ALSA: fireface: code refactoring to add enumeration constants for model identification · c52f232e
      Takashi Sakamoto authored
      
      In RME fireface series, version field of unit directory in configuration
      ROM is used to distinguish each model. The value of field is known and
      it's better to use enumeration constants for code representation.
      
      This commit adds enumeration constants for model identification.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-4-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c52f232e
    • Takashi Sakamoto's avatar
      ALSA: fireface: start IR context immediately · f4588cc4
      Takashi Sakamoto authored
      
      In the latter models of RME Fireface series, device start to transfer
      packets several dozens of milliseconds. On the other hand, ALSA fireface
      driver starts IR context 2 milliseconds after the start. This results
      in loss to handle incoming packets on the context.
      
      This commit changes to start IR context immediately instead of
      postponement. For Fireface 800, this affects nothing because the device
      transfer packets 100 milliseconds or so after the start and this is
      within wait timeout.
      
      Cc: <stable@vger.kernel.org>
      Fixes: acfedcbe ("ALSA: firewire-lib: postpone to start IR context")
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-3-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f4588cc4
    • Takashi Sakamoto's avatar
      ALSA: fireface: fix configuration error for nominal sampling transfer frequency · bbd6aac3
      Takashi Sakamoto authored
      
      128000 and 192000 are congruence modulo 32000, thus it's wrong to
      distinguish them as multiple of 32000 and 48000 by modulo 32000 at
      first.
      
      Additionally, used condition statement to detect quadruple speed can
      cause missing bit flag.
      
      Furthermore, counter to ensure the configuration is wrong and it
      causes false positive.
      
      This commit fixes the above three bugs.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 60aec494 ("ALSA: fireface: support allocate_resources operation in latter protocol")
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200510074301.116224-2-o-takashi@sakamocchi.jp
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      bbd6aac3
  13. May 08, 2020
Loading