1. 08 1月, 2014 1 次提交
  2. 07 1月, 2014 2 次提交
  3. 01 1月, 2014 1 次提交
  4. 30 12月, 2013 1 次提交
  5. 04 12月, 2013 1 次提交
  6. 02 12月, 2013 1 次提交
  7. 28 11月, 2013 1 次提交
  8. 24 11月, 2013 2 次提交
    • N
      ASoC: soc-pcm: move DAIs parameters cleaning into hw_free() · d3383420
      Nicolin Chen 提交于
      We're now applying soc_hw_params_symmetry() to reject unmatched parameters
      while we clear parameters in soc_pcm_close(). So here's a use case might be
      broken by this mechanism: aplay -Dhw:0 44100.wav 48000.wav 32000.wav
      
      In this case, we call soc_pcm_open()->soc_pcm_hw_params()->soc_pcm_hw_free()
      ->soc_pcm_hw_params()->soc_pcm_hw_free()->soc_pcm_close() in order. As we
      only clear parameters in soc_pcm_close(). The parameters would be remained
      in the system even if the playback of 44100.wav is finished.
      
      Thus, this patch is trying to move parameters cleaning into hw_free() so that
      the system can continue to serve this kind of use case.
      
      Also, since we set them in hw_params(), it should be better to clear them in
      hw_free() for symmetry.
      Signed-off-by: NNicolin Chen <b42378@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d3383420
    • N
      ASoC: soc-pcm: add symmetry for channels and sample bits · 3635bf09
      Nicolin Chen 提交于
      Some SoCs can only work in mono or stereo mode at one time. So if
      we let them capture a mono stream while playing a stereo stream,
      there might be a problem occur to one of these two streams: double
      paced or slowed down.
      
      In soc-pcm.c, we have soc_pcm_apply_symmetry() to apply the rate
      symmetry. But we don't have one for channels.
      
      Likewise, we can treat symmetric_rate as a solution for those SoCs
      or CODECs which can not handle asymmetrical LRCLK. But it's also
      impossible for them to handle asymmetrical BCLK. And accodring to
      BCLK = LRCLK * channel number * slot size(fixed or sample bits),
      sample bits might also be a problem if they are not using a fixed
      slot size.
      
      Thus, this patch applys symmetry for channels and sample bits.
      
      Meanwhile, there might be a race between two substreams if starting
      simultaneously. Previously, we only added warning to compalin but
      still using conservative way to let it carry on. However, this patch
      rejects the second stream with any unmatched parameter to make sure
      the first existing stream won't be broken.
      Signed-off-by: NNicolin Chen <b42378@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      3635bf09
  9. 20 11月, 2013 5 次提交
  10. 18 11月, 2013 1 次提交
  11. 15 11月, 2013 3 次提交
  12. 14 11月, 2013 2 次提交
    • O
      ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations · fc7dc61d
      Oskar Schirmer 提交于
      Unbalanced calls to snd_imx_pcm_trigger() may result in endless
      FIQ activity and thus provoke eternal sound. While on the first glance,
      the switch statement looks pretty symmetric, the SUSPEND/RESUME
      pair is not: the suspend case comes along snd_pcm_suspend_all(),
      which for fsl/imx-pcm-fiq is called only at snd_soc_suspend(),
      but the resume case originates straight from the SNDRV_PCM_IOCTL_RESUME.
      This way userland may provoke an unbalanced resume, which might cause
      the fiq_enable counter to increase and never return to zero again,
      so eventually imx_pcm_fiq is never disabled.
      
      Simply removing the fiq_enable will solve the problem, as long as
      one never goes play and capture game simultaneously, but beware
      trying both at once, the early TRIGGER_STOP will cut off the other
      activity prematurely. So now playing and capturing is scrutinized
      separately, instead of by counting.
      Signed-off-by: NOskar Schirmer <oskar@scara.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Cc: stable@vger.kernel.org
      fc7dc61d
    • T
      ASoC: blackfin: Fix missing break · afed4dbe
      Takashi Iwai 提交于
      Fixes: 4b2ffc20 ('ASoC: Blackfin I2S: add 8-bit sample support')
      Reported-by: David Binderman
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Cc: stable@vger.kernel.org
      afed4dbe
  13. 13 11月, 2013 3 次提交
  14. 12 11月, 2013 2 次提交
  15. 08 11月, 2013 14 次提交