Skip to content
  1. Jun 25, 2018
  2. Jun 21, 2018
  3. Jun 20, 2018
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add support for Motu Traveler · 6c5e1ac0
      Takashi Sakamoto authored
      
      
      This commit adds support for MOTU Traveler, launched in 2005, discontinued
      quite before. As a result, transmission of PCM frame and MIDI messages is
      available via ALSA PCM and RawMIDI/Sequencer interfaces.
      
      This model supports sampling transmission frequency up to 192.0 kHz, and
      AES/EBU on XLR interface and ADAT on optical interface. Unlike
      Motu 828MkII, Windows driver can switch fetching mode for DSP, like
      mute/unmute feature.
      
      Although this commit enables high sampling transmission frequency, actual
      sound from this model is not good. As long as I tested, it's silence at
      176.4 kHz, and it includes hissing noise at 192.0 kHz. In my opinion, as I
      reported at 3526ce7f9ba7 ('ALSA: firewire-motu: add MOTU specific protocol
      layer'), timestamping on source packet header (SPH) may not still be good
      for this model as well.
      
      $ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
                     ROM header and bus information block
                     -----------------------------------------------------------------
      400  04106505  bus_info_length 4, crc_length 16, crc 25861
      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  0001f32f  device_id 000001f32f  | EUI-64 0001f2000001f32f
      
                     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  00035955  directory_length 3, crc 22869
      42c  120001f2  specifier id
      430  13000009  version
      434  17107800  model
      
                     eui-64 leaf at 438
                     -----------------------------------------------------------------
      438  000206b2  leaf_length 2, crc 1714
      43c  0001f200  company_id 0001f2     |
      440  0001f32f  device_id 000001f32f  | EUI-64 0001f2000001f32f
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6c5e1ac0
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: cancel chunk alignment for protocol version 2 · 191ef576
      Takashi Sakamoto authored
      
      
      For MOTU protocol version 2, this driver arranges the number of data
      chunks to align chunks to quadlet data channel. However, MOTU Traveler
      has padding bytes in the end of data block at high clock mode.
      
      This commit removes the arrangement. Fortunately, at low and middle clock
      mode, supported model for v2 protocol (828mkII) gets no influence from this
      change because all of combination for data chunks are just aligned to
      quadlet data channel.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      191ef576
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add a flag for AES/EBU on XLR interface · 06ac0b6f
      Takashi Sakamoto authored
      
      
      MOTU Traveler supports AES/EBU on XLR interface and data block of rx/tx
      packet includes two chunk for the interface. This commit adds a flag
      for this purpose.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      06ac0b6f
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: add a flag for chunks for main 1/2 out · 81720c6d
      Takashi Sakamoto authored
      
      
      This driver explicitly assumes that all of supported models have main data
      chunk separated from chunk for analog ports. However, MOTU Traveler doesn't
      support the separated main data chunk.
      
      This commit adds a flag for the separated main data chunk.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      81720c6d
    • Takashi Sakamoto's avatar
      ALSA: firewire-motu: suppless consumption for unused element of array in stack · 6c1549c4
      Takashi Sakamoto authored
      
      
      In MOTU firewire protocol, data block consists of 24 bit data chunks except
      for one quadlet for source packet header (SPH). The number of data chunk in
      a data block is different between three clock modes; low, middle and high.
      When unit supports ADAT on optical interface, the data block includes some
      chunks for ADAT channels. These ADAT chunks are unavailable at high mode.
      
      This driver has local functions to calculate the number of ADAT chunks. But
      They uses stack for three clock modes. This is useless for higher mode.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      6c1549c4
  4. Jun 18, 2018
    • Arnd Bergmann's avatar
      ALSA: line6: stop using get_seconds() · a8eaad7b
      Arnd Bergmann authored
      
      
      The get_seconds() function is deprecated because it truncates the
      timestamp to 32 bits, so all users should change to ktime_get_seconds()
      or ktime_get_real_seconds().
      
      The firmware interface for passing the timestamp is also limited to
      32 bits, so this patch only has the cosmetic effect of avoiding the
      old interface.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a8eaad7b
    • Stefan Agner's avatar
      ALSA: ctxfi: use enum type CT_SUM_CTL where appropriate · a753af30
      Stefan Agner authored
      
      
      Currently a variable of type enum CT_AMIXER_CTL is used for enum
      CT_SUM_CTL values. This leads to warnings when using clang:
      sound/pci/ctxfi/ctmixer.c:945:32: warning: implicit conversion from enumeration type
            'enum CT_SUM_CTL' to different enumeration type 'enum CT_AMIXER_CTL'
            [-Wenum-conversion]
              for (i = AMIXER_MASTER_F, j = SUM_IN_F;
                                          ~ ^~~~~~~~
      sound/pci/ctxfi/ctmixer.c:975:29: warning: implicit conversion from enumeration type
            'enum CT_SUM_CTL' to different enumeration type 'enum CT_AMIXER_CTL'
            [-Wenum-conversion]
              for (i = AMIXER_PCM_F, j = SUM_IN_F; i <= AMIXER_PCM_S; i++, j++) {
                                       ~ ^~~~~~~~
      
      Introduce enum CT_SUM_CTL k and it instead.
      
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a753af30
    • Stefan Agner's avatar
      ALSA: ice1724: remove unused array · 01655193
      Stefan Agner authored
      
      
      This fixes a warning seen with clang:
      
      sound/pci/ice1712/prodigy_hifi.c:321:28: warning: variable 'wm_vol' is not
            needed and will not be emitted [-Wunneeded-internal-declaration]
      static const unsigned char wm_vol[256] = {
                                 ^
      
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      01655193
  5. Jun 17, 2018