1. 21 Aug, 2015 9 commits
  2. 19 Aug, 2015 4 commits
  3. 18 Aug, 2015 2 commits
    • Mark Brown's avatar
      ASoC: topology: Disable use from userspace · 8c90503b
      Mark Brown authored
      Since the topology API is still in sufficient flux for changes to be
      identified disable the use of the userspace ABI by adding #error
      statements to the code, ensuring that nobody relies on the headers as
      currently defined.  It is expected that this change will be reverted for
      v4.3.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      8c90503b
    • Mark Brown's avatar
      ASoC: topology: Add Kconfig option for topology · 78b50f39
      Mark Brown authored
      Allow the topology code to be compiled out so that users who don't need
      topology don't need to havve the code compiled in, saving them some
      memory.
      
      Some more configuration could be added to remove some of the hooks into
      the core data structures but that is probably best done with some
      refactoring to use functions to do the updates of the data structures
      rather than ifdefing in the code as we'd need to do at the minute.
      Suggested-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      78b50f39
  4. 17 Aug, 2015 4 commits
  5. 16 Aug, 2015 2 commits
    • Pierre-Louis Bossart's avatar
      ALSA: usb: handle descriptor with SYNC_NONE illegal value · 395ae54b
      Pierre-Louis Bossart authored
      The M-Audio Transit exposes an interface with a SYNC_NONE attribute.
      This is not a valid value according to the USB audio classspec. However
      there is a sync endpoint associated to this record. Changing the logic to
      try to use this sync endpoint allows for seamless transitions between
      altset 2 and altset 3. If any errors happen, the behavior remains the same.
      
      $ more /proc/asound/card1/stream0
      M-Audio Transit USB at usb-0000:00:14.0-2, full speed : USB Audio
      
      Playback:
        Status: Stop
        Interface 1
          Altset 1
          Format: S24_3LE
          Channels: 2
          Endpoint: 3 OUT (ADAPTIVE)
          Rates: 48001 - 96000 (continuous)
        Interface 1
          Altset 2
          Format: S24_3LE
          Channels: 2
          Endpoint: 3 OUT (NONE)
          Rates: 8000 - 48000 (continuous)
        Interface 1
          Altset 3
          Format: S16_LE
          Channels: 2
          Endpoint: 3 OUT (ASYNC)
          Rates: 8000 - 48000 (continuous)
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      395ae54b
    • Pierre-Louis Bossart's avatar
      ALSA: usb: fix corrupted pointers due to interface setting change · 63018447
      Pierre-Louis Bossart authored
      When a transition occurs between alternate settings that do not use the
      same synchronization method, the substream pointers were not reset.
      This prevents audio from being played during the second transition.
      
      Identified and tested with M-Audio Transit device
      (0763:2006 Midiman M-Audio Transit)
      
      Details of the issue:
      
      First playback to adaptive endpoint:
      $ aplay -Dhw:1,0 ~/24_96.wav
      Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes,
      Rate 96000 Hz, Stereo
      
      [ 3169.297556] usb 1-2: setting usb interface 1:1
      [ 3169.297568] usb 1-2: Creating new playback data endpoint #3
      [ 3169.298563] usb 1-2: Setting params for ep #3 (type 0, 3 urbs), ret=0
      [ 3169.298574] usb 1-2: Starting data EP @ffff880035fc8000
      
      first playback to asynchronous endpoint:
      $ aplay -Dhw:1,0 ~/16_48.wav
      Playing WAVE '/home/plb/16_48.wav' : Signed 16 bit Little Endian,
      Rate 48000 Hz, Stereo
      
      [ 3204.520251] usb 1-2: setting usb interface 1:3
      [ 3204.520264] usb 1-2: Creating new playback data endpoint #3
      [ 3204.520272] usb 1-2: Creating new capture sync endpoint #83
      [ 3204.521162] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0
      [ 3204.521177] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0
      [ 3204.521182] usb 1-2: Starting data EP @ffff880035fce000
      [ 3204.521204] usb 1-2: Starting sync EP @ffff8800bd616000
      
      second playback to adaptive endpoint: no audio and error on terminal:
      $ aplay -Dhw:1,0 ~/24_96.wav
      Playing WAVE '/home/plb/24_96.wav' : Signed 24 bit Little Endian in 3bytes,
      Rate 96000 Hz, Stereo
      aplay: pcm_write:1939: write error: Input/output error
      
      [ 3239.483589] usb 1-2: setting usb interface 1:1
      [ 3239.483601] usb 1-2: Re-using EP 3 in iface 1,1 @ffff880035fc8000
      [ 3239.484590] usb 1-2: Setting params for ep #3 (type 0, 4 urbs), ret=0
      [ 3239.484606] usb 1-2: Setting params for ep #83 (type 1, 4 urbs), ret=0
      
      This last line shows that a sync endpoint is used when it shouldn't.
      The sync endpoint is no longer valid and the pointers are corrupted
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      63018447
  6. 14 Aug, 2015 1 commit
  7. 13 Aug, 2015 1 commit
  8. 11 Aug, 2015 1 commit
  9. 10 Aug, 2015 2 commits
    • Takashi Iwai's avatar
      ALSA: hda - Fix pin config and mapping on Alienware 15 · fe14f39e
      Takashi Iwai authored
      Alienware 15 has CA0132 codec for its onboard sound, but the pin
      config and mapping seem quite different from other Creative boards.
      This patch corrects them, at least, for providing the right headphone
      and mic jack notification, as well as removing the non-existing SPDIF
      pins.
      
      Even with this fix, not all stuff works perfectly yet, mainly because
      of the badly written ca0132 driver code -- it has too many implicit
      assumptions of pin configs and maps.  Nevertheless, this is a small
      good step forward.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101981Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fe14f39e
    • Mark Brown's avatar
      ALSA: echoaudio: Use standard C definitions of true and false · 3f6175ec
      Mark Brown authored
      The echoaudio locally defines TRUE and FALSE.  Not only is this
      redundant given that C now has a boolean type it results in lots of
      warnings as other headers also define these macros, causing duplicate
      definitions.  Fix this by removing the local defines and converting all
      local users to use the standard C true and false instead, simply
      removing the macros is less safe due to implicit inclusion of the other
      definitons.
      
      [fixed overlooked replacement of FALSE by tiwai]
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3f6175ec
  10. 07 Aug, 2015 2 commits
  11. 06 Aug, 2015 8 commits
  12. 05 Aug, 2015 4 commits
    • Lars-Peter Clausen's avatar
      ALSA: aoa-soundbus: Switch to dev_pm_ops · f6af5df0
      Lars-Peter Clausen authored
      Update the aoa-soundbus framework to use dev_pm_ops rather than the
      deprecated legacy suspend and resume callbacks.
      
      Since there isn't anything special to do at the bus level the bus driver
      does not have to implement any callbacks. The device driver core will
      automatically pick up and execute the device's PM ops.
      
      As there is only a single aoa-soundbus driver implementing suspend and
      resume, update both the core and driver at the same time to avoid
      unnecessary code churn.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f6af5df0
    • Takashi Iwai's avatar
      ALSA: hda - yet another fix for Dell headset mic with ALC3266 · 9f502ff5
      Takashi Iwai authored
      It turned out that there are three variants of pin config values of
      NID 0x17 on Dell laptops with ALC3266 (alias of ALC298): 0x90170110,
      0x90170140 and 0x90170150.  The first two have been already covered by
      commits 703867e2 and 977e6276, so this commit adds the missing
      last entry.
      
      While we're at it, rearrange the three entries in the order of pincfg
      values.
      Reported-by: default avatarKailang Yang <kailang@realtek.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9f502ff5
    • Hui Wang's avatar
      ALSA: hda - one Dell machine needs the headphone white noise fixup · 73851b36
      Hui Wang authored
      The fixup ALC292_FIXUP_DISABLE_AAMIX can fix the white noise of
      the headphone on this Dell machine.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      73851b36
    • Takashi Sakamoto's avatar
      ALSA: fireworks/firewire-lib: add support for recent firmware quirk · 18f5ed36
      Takashi Sakamoto authored
      Fireworks uses TSB43CB43(IceLynx-Micro) as its IEC 61883-1/6 interface.
      This chip includes ARM7 core, and loads and runs program. The firmware
      is stored in on-board memory and loaded every powering-on from it.
      
      Echo Audio ships several versions of firmwares for each model. These
      firmwares have each quirk and the quirk changes a sequence of packets.
      
      As long as I investigated, AudioFire2/AudioFire4/AudioFirePre8 have a
      quirk to transfer a first packet with 0x02 in its dbc field. This causes
      ALSA Fireworks driver to detect discontinuity. In this case, firmware
      version 5.7.0, 5.7.3 and 5.8.0 are used.
      
      Payload  CIP      CIP
      quadlets header1  header2
      02       00050002 90ffffff <-
      42       0005000a 90013000
      42       00050012 90014400
      42       0005001a 90015800
      02       0005001a 90ffffff
      42       00050022 90019000
      42       0005002a 9001a400
      42       00050032 9001b800
      02       00050032 90ffffff
      42       0005003a 9001d000
      42       00050042 9001e400
      42       0005004a 9001f800
      02       0005004a 90ffffff
      (AudioFire2 with firmware version 5.7.)
      
      $ dmesg
      snd-fireworks fw1.0: Detect discontinuity of CIP: 00 02
      
      These models, AudioFire8 (since Jul 2009 ) and Gibson Robot Interface
      Pack series uses the same ARM binary as their firmware. Thus, this
      quirk may be observed among them.
      
      This commit adds a new member for AMDTP structure. This member represents
      the value of dbc field in a first AMDTP packet. Drivers can set it with
      a preferred value according to model's quirk.
      Tested-by: default avatarJohannes Oertei <johannes.oertel@uni-due.de>
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      18f5ed36