1. 14 1月, 2014 1 次提交
    • H
      ALSA: hda - automute via amp instead of pinctl on some AIO models · 493a52a9
      Hui Wang 提交于
      On some AIO (All In One) models with the codec alc668
      (Vendor ID: 0x10ec0668) on it, when we plug a headphone into the jack,
      the system will switch the output to headphone and set the speaker to
      automute as well as change the speaker Pin-ctls from 0x40 to 0x00,
      this will bring loud noise to the headphone.
      
      I tried to disable the corresponding EAPD, but it did not help to
      eliminate the noise.
      
      According to Takashi's suggestion, we use amp operation to replace the
      pinctl modification for the automute, this really eliminate the noise.
      
      BugLink: https://bugs.launchpad.net/bugs/1268468
      Cc: David Henningsson <david.henningsson@canonical.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NHui Wang <hui.wang@canonical.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      493a52a9
  2. 13 1月, 2014 2 次提交
  3. 11 1月, 2014 2 次提交
  4. 10 1月, 2014 1 次提交
    • S
      ALSA: ctxfi - Work around emu20k1 glitch to prevent buffered sound data loss · e240a469
      Sarah Bessmer 提交于
      Occasionally, on playback stream ringbuffer wraparound, the EMU20K1
      hardware will momentarily return 0 instead of the proper current(loop)
      address. This patch handles that case, fixing the problem of playback
      position corruption and subsequent loss of buffered sound data, that
      occurs with some common buffering layout patterns(e.g. multiple
      simultaneous output streams with differently-sized or
      non-power-of-2-sized buffers).
      
      An alternate means of fixing the problem would be to read the ca
      register continuously, until two sequential reads return the same
      value; however, that would be a more invasive change, has performance
      implications, and isn't necessary unless there are also issues with the
      value not being updated atomically in regards to individual bits or
      something similar(which I have not encountered through light testing).
      
      I have no EMU20K2 hardware to confirm if the issue is present there,
      but even if it's not, this change shouldn't break anything that's not
      already broken.
      Signed-off-by: NSarah Bessmer <aotos@fastmail.fm>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e240a469
  5. 09 1月, 2014 7 次提交
  6. 08 1月, 2014 8 次提交
  7. 05 1月, 2014 8 次提交
  8. 02 1月, 2014 8 次提交
  9. 01 1月, 2014 3 次提交
    • X
      ASoC: simple-card: Add device's module clock selection. · 71467e46
      Xiubo Li 提交于
      Try to get the device's module clock if the dt has no clocks and
      system-clock-frequency properties.
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      71467e46
    • N
      ASoC: imx-spdif: Use snd-soc-dummy CODEC driver to link card · 14c3aa98
      Nicolin Chen 提交于
      This is a quick fix for the below two issues when building spdif as modules.
      
      1) If modprobing modules in order: (Step 1) snd-soc-fsl-spdif -> (Step 2)
      snd-soc-imx-spdif -> (Step 3) snd-soc-spdif-tx/rx, we will fail to create
      imx-spdif card and dai link unless we rmmod snd-soc-imx-spdif and modprobe
      it again due to the execution platform_driver_unregister() in probe() when
      meeting -EPROBE_DEFER at Step 2.
      
      2) After "imx-spdif sound-spdif.17: dit-hifi <-> 2004000.spdif mapping ok",
      'rmmod snd-soc-imx-spdif' would cause kernel dump with warning:
      WARNING: CPU: 0 PID: 1301 at /home/rmk/git/linux-rmk/fs/sysfs/dir.c:915 sysfs_hash_and_remove+0x84/0x90()
      sysfs: can not remove 'dapm_widget', no directory
      This should be caused by disordered resourse releasing of the whole link.
      And trying to unregister the card and then CODEC dev can't fix this issue.
      
      Thus this patch just provides a simple fix to these two bugs by using the
      snd-soc-dummy in the core instead of seperate snd-soc-spdif-tx/rx so that
      there's no need to handle the registering and unregistering of CODEC or
      CODEC dai any more.
      Signed-off-by: NNicolin Chen <Guangyu.Chen@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      14c3aa98
    • X
      ASoC: core: Fix the DAI name getting. · e41975ed
      Xiubo Li 提交于
      From "ASoC: make snd_soc_dai_link more symmetrical", can we see that
      the name of CPU DAI maybe omitted. If the DAI name is omitted, try to
      use the component name instead.
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      e41975ed