1. 10 Jan, 2014 1 commit
    • Sarah Bessmer's avatar
      ALSA: ctxfi - Work around emu20k1 glitch to prevent buffered sound data loss · e240a469
      Sarah Bessmer authored
      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: default avatarSarah Bessmer <aotos@fastmail.fm>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e240a469
  2. 09 Jan, 2014 7 commits
  3. 08 Jan, 2014 7 commits
  4. 07 Jan, 2014 1 commit
  5. 05 Jan, 2014 8 commits
  6. 02 Jan, 2014 8 commits
  7. 01 Jan, 2014 1 commit
  8. 31 Dec, 2013 7 commits
    • Nicolin Chen's avatar
      ASoC: imx-spdif: Use snd-soc-dummy CODEC driver to link card · 14c3aa98
      Nicolin Chen authored
      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: default avatarNicolin Chen <Guangyu.Chen@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      14c3aa98
    • Xiubo Li's avatar
      ASoC: core: Fix the DAI name getting. · e41975ed
      Xiubo Li authored
      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: default avatarXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      e41975ed
    • Kuninori Morimoto's avatar
      ASoC: rsnd: add SRC (Sampling Rate Converter) support · ef749400
      Kuninori Morimoto authored
      This patch adds SRC support to Renesas sound driver.
      SRC converts sampling rate between codec <-> cpu.
      It needs special codec chip,
      or very simple DA/AD converter to use it.
      This patch was tested via ak4554 codec,
      and supports Gen1 only at this point.
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      ef749400
    • Kuninori Morimoto's avatar
      ASoC: rsnd: tidyup rsnd_ssi_master_clk_start() parameter · adcf7d5e
      Kuninori Morimoto authored
      Renesas sound has SRC (= Sampling Rate Converter),
      but, the HW implementation depends on its generation.
      It was part of SRU on Gen1, and SCU on Gen2.
      This SCU needs DMA transfer to use it.
      Current rsnd driver is using it as DMA transfer buffer
      (= no rate convert), and Gen1 is only supported at this point.
      
      This patch cleanup it with focusing about SRC and Gen2 part.
      
      ssi clock which is calculated from rsnd_ssi_master_clk_start()
      should have flexibility since Renesas sound has
      SRC (= Sampling Rate Converter).
      But current implementation is using runtime->rate directly.
      This patch tidyup rsnd_ssi_master_clk_start() parameter
      as preparation of future SRC support
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      adcf7d5e
    • Kuninori Morimoto's avatar
      ASoC: rsnd: scu cleanup: add rsnd_scu_rate_ctrl() · 99feec32
      Kuninori Morimoto authored
      Renesas sound has SRC (= Sampling Rate Converter),
      but, the HW implementation depends on its generation.
      It was part of SRU on Gen1, and SCU on Gen2.
      This SCU needs DMA transfer to use it.
      Current rsnd driver is using it as DMA transfer buffer
      (= no rate convert), and Gen1 is only supported at this point.
      
      This patch cleanup it with focusing about SRC and Gen2 part.
      
      rsnd_scu_set_hpbif() is renamed to rsnd_scu_rate_ctrl(),
      since its naming doesn't indicate the function meaning.
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      99feec32
    • Kuninori Morimoto's avatar
      ASoC: rsnd: INT_ENABLE is needed only Gen2 · 52ea2a79
      Kuninori Morimoto authored
      INT_ENABLE is needed only Gen2.
      rsnd_mod_write() do nothing on Gen1, but it is confusable.
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      52ea2a79
    • Kuninori Morimoto's avatar
      ASoC: rsnd: add rsnd_scu_transfer_start() · af8a4788
      Kuninori Morimoto authored
      Renesas sound has SRC (= Sampling Rate Converter),
      but, the HW implementation depends on its generation.
      It was part of SRU on Gen1, and SCU on Gen2.
      This SCU needs DMA transfer to use it.
      Current rsnd driver is using it as DMA transfer buffer
      (= no rate convert), and Gen1 is only supported at this point.
      
      This patch cleanup it with focusing about SRC and Gen2 part.
      
      SRC_CTRL/BUSIF_MODE are used for transfer start.
      This patch adds rsnd_scu_transfer_start() and merge these
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      af8a4788