1. 17 Jun, 2021 3 commits
    • Daehwan Jung's avatar
      ALSA: usb-audio: fix rate on Ozone Z90 USB headset · aecc19ec
      Daehwan Jung authored
      It mislabels its 96 kHz altsetting and that's why it causes some noise
      Signed-off-by: default avatarDaehwan Jung <dh10.jung@samsung.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/1623836097-61918-1-git-send-email-dh10.jung@samsung.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      aecc19ec
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for MOTU 896 · b431f16f
      Takashi Sakamoto authored
      MOTU 896 is a second model in MOTU FireWire series, produced in 2001. This
      model consists of three chips:
      
       * Texas Instruments TSB41AB2 (Physical layer for IEEE 1394 bus)
       * Philips Semiconductors PDI 1394L21BE (Link layer for IEEE 1394 bus and
         packet processing layer)
       * QuickLogic QuickRAM QL4016 (Data block processing layer and digital
         signal processing)
      
      This commit adds a support for the model, with its unique protocol as
      version 1. The features of this protocol are:
      
       * no MIDI support.
       * Rx packets have no data chunks for control and status messages.
       * Tx packets have 2 bytes for control and status messages in the end of
         each data block.
       * The most of settings are represented in bit flag in one quadlet address
         (0x'ffff'f000'0b14).
       * It's selectable to use signal on optical interface, however the device
         has no register specific to it. The state has effect just to whether
         to exclude differed data chunks.
       * The internal multiplexer is not configured by software.
      
      Just after powering on, the device has a quirk to fail handling
      transaction. I recommend users to connect the device enough after powering
      on.
      
      $ python3 crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  04102814  bus_info_length 4, crc_length 16, crc 10260
      404  31333934  bus_name "1394"
      408  20001000  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 1 (4)
      40c  0001f200  company_id 0001f2     |
      410  0000d645  device_id 000000d645  | EUI-64 0001f2000000d645
      
                     root directory
                     -----------------------------------------------------------------
      414  0004c65c  directory_length 4, crc 50780
      418  030001f2  vendor
      41c  0c0083c0  node capabilities per IEEE 1394
      420  8d000006  --> eui-64 leaf at 438
      424  d1000001  --> unit directory at 428
      
                     unit directory at 428
                     -----------------------------------------------------------------
      428  0003ab34  directory_length 3, crc 43828
      42c  120001f2  specifier id
      430  13000002  version
      434  17102801  model
      
                     eui-64 leaf at 438
                     -----------------------------------------------------------------
      438  0002057d  leaf_length 2, crc 1405
      43c  0001f200  company_id 0001f2     |
      440  0000d645  device_id 000000d645  | EUI-64 0001f2000000d645
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20210616082847.124688-3-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b431f16f
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for MOTU 828 · d13d6b28
      Takashi Sakamoto authored
      MOTU 828 is a first model in MOTU FireWire series, produced in 2001. This
      model consists of three chips:
       * Texas Instruments TSB41AB1 (Physical layer for IEEE 1394 bus)
       * Philips Semiconductors 1394L21BE (Link layer for IEEE 1394 bus and
         packet processing layer)
       * QuickLogic QuickRAM QL4016 (Data block processing layer and digital
         signal processing)
      
      This commit adds a support for this model, with its unique protocol as
      version 1. The features of this protocol are:
      
       * no MIDI support.
       * Rx packets have no data chunks for control and status messages.
       * Tx packets have 2 data chunks for control and status messages in the
         end of each data block. The chunks consist of data block counter
         (4 byte) and message (2 byte).
       * All of settings are represented in bit flag in one quadlet address
         (0x'ffff'f000'0b00).
       * When optical interface is configured as S/PDIF, signals of the interface
         is multiplexed for packets, instead of signals of coaxial interface.
       * The internal multiplexer is not configured by software.
      
      I note that the device has a quirk to mute output voluntarily during
      receiving batch of packets in the beginning of packet streaming. The
      operation to unmute should be done by software enough after the device
      shifts the state, however it's not deterministic. Furthermore, just
      after switching rate of sampling clock, the device keeps the state longer.
      This patch manages to sleep 100 msec before unmute operation, but it may
      fail to release the mute in the case that the rate is changed. As a
      workaround, users can restart packet streaming at the same rate, or write
      to specific register from userspace.
      
      $ python3 crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  04105c54  bus_info_length 4, crc_length 16, crc 23636
      404  31333934  bus_name "1394"
      408  20001000  irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 1 (4)
      40c  0001f200  company_id 0001f2     |
      410  00005015  device_id 0000005015  | EUI-64 0001f20000005015
      
                     root directory
                     -----------------------------------------------------------------
      414  0004c65c  directory_length 4, crc 50780
      418  030001f2  vendor
      41c  0c0083c0  node capabilities per IEEE 1394
      420  8d000006  --> eui-64 leaf at 438
      424  d1000001  --> unit directory at 428
      
                     unit directory at 428
                     -----------------------------------------------------------------
      428  00035052  directory_length 3, crc 20562
      42c  120001f2  specifier id
      430  13000001  version
      434  17101800  model
      
                     eui-64 leaf at 438
                     -----------------------------------------------------------------
      438  0002eeb6  leaf_length 2, crc 61110
      43c  0001f200  company_id 0001f2     |
      440  00005015  device_id 0000005015  | EUI-64 0001f20000005015
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20210616082847.124688-2-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d13d6b28
  2. 16 Jun, 2021 2 commits
  3. 14 Jun, 2021 2 commits
  4. 12 Jun, 2021 11 commits
  5. 11 Jun, 2021 3 commits
  6. 10 Jun, 2021 12 commits
  7. 09 Jun, 2021 7 commits