1. 02 May, 2018 18 commits
  2. 27 Apr, 2018 1 commit
  3. 25 Apr, 2018 16 commits
  4. 24 Apr, 2018 5 commits
    • Michael Drake's avatar
      ALSA: usb-audio: ADC3: Fix channel mapping conversion for ADC3. · 8e0428a7
      Michael Drake authored
      The channel mapping is defined by bChRelationship, not bChPurpose.
      
      Fixes: 9a2fe9b8 ("ALSA: usb: initial USB Audio Device Class 3.0 support")
      Reviewed-by: default avatarRuslan Bilovol <ruslan.bilovol@gmail.com>
      Signed-off-by: default avatarMichael Drake <michael.drake@codethink.co.uk>
      Signed-off-by: default avatarJorge Sanjuan <jorge.sanjuan@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8e0428a7
    • Takashi Iwai's avatar
      ALSA: hda - Sanity check of access to SPDIF controls array · 08605068
      Takashi Iwai authored
      Put WARN_ON() and bail out if the given index is over the allocated
      array of the given SPDIF controls.  It's merely a sanity check to
      catch any potential issues (if any).
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      08605068
    • Takashi Sakamoto's avatar
      ALSA: dice: improve support for ancient firmware for DICE · c1a36101
      Takashi Sakamoto authored
      In early stage of firmware SDK, DICE seems to lose its backward
      compatibility due to some registers on global address section. I found
      this with Alesis Multimix 12 FireWire with ancient firmware (approx.
      shipped version).
      
      According to retrieved log from the unit, global section has 96 byte
      space. On the other hand, current version of ALSA dice driver assumes
      that all of supported unit has at least 100 byte space.
      
      $ ./firewire-request /dev/fw1 read 0xffffe0000000 28
      result: 000: 00 00 00 0a 00 00 00 18 00 00 00 22 00 00 00 8a
      result: 010: 00 00 00 ac 00 00 01 12 00 00 00 00 00 00 00 00
      result: 020: 00 00 00 00 00 00 00 00
      
      This commit adds support for the ancient firmware. Check of global section
      is loosened to accept the smaller space. The lack of information is
      already compensated by hard-coded parameters.
      
      I experienced that the latest version of Windows driver for this model
      can't handle this unit, too. This means that TCAT releases firmware SDK
      without backward compatibility for the ancient firmware.
      
      Below list is a early history of driver/firmware package released by
      Alesis. I investigated on wayback machine on Internet Archive:
       * Unknown: PAL v1.0.41.2, firmware v1.0.3
       * Mar 2006: PAL v1.54.0, firmware v1.0.4
       * Dec 2006: PAL v2.0.0.2, firmware v2.0
       * Jun 2007: PAL v3.0.41.5, firmware v2.0
       * Jul 2007: PAL v3.0.56.2. firmware v2.0
       * Jan 2008: PAL v3.0.81.1080, firmware v2.0
      
      If I can assume that firmware version is the same as DICE version, DICE
      version for the issued firmware may be v1.0.3. According to code base of
      userspace driver project (FFADO), I can read DICE v1.0.4 supports global
      space larger than 100 byte. I guess the smaller space of global section is
      a feature of DICE v1.0.3.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c1a36101
    • Takashi Sakamoto's avatar
      ALSA: dice: fix OUI for TC group · 10412c42
      Takashi Sakamoto authored
      OUI for TC Electronic is 0x000166, for TC GROUP A/S. 0x001486 is for Echo
      Digital Audio Corporation.
      
      Fixes: 7cafc65b ('ALSA: dice: force to add two pcm devices for listed models')
      Cc: <stable@vger.kernel.org> # v4.6+
      Reference: http://standards-oui.ieee.org/oui/oui.txtSigned-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      10412c42
    • Takashi Iwai's avatar
      ALSA: hda - Use a macro for snd_array iteration loops · a9c2dfc8
      Takashi Iwai authored
      Introduce a new helper macro, snd_array_for_each(), to iterate for
      each snd_array element.  It slightly improves the readability than
      lengthy open codes at each place.
      
      Along with it, add const prefix to some obvious places.
      
      There should be no functional changes by this.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a9c2dfc8