1. 04 7月, 2011 1 次提交
    • S
      ASoC: Tegra: I2S: Ensure clock is enabled when writing regs · 713d1369
      Stephen Warren 提交于
      The I2S controller needs a clock to respond to register writes. Without
      this, register writes will at worst hang the CPU. In practice, I've only
      observed writes being dropped.
      
      Luckily, the dropped register writes historically had no effect:
      
      TEGRA_I2S_TIMING: The value we wrote was the reset default.
      
      TEGRA_I2S_FIFO_SCR: The default was for the FIFOs to request more data
      when one slot was empty. The requested value was for the FIFOs to request
      when four slots were empty. The DMA controller in the mainline kernel is
      configured to burst a single entry at a time into the FIFO, hence there
      was no issue. The only negative effect was on bus efficiency losses due
      to an increased number of arbitration attempts.
      
      However, in various non-upstream changes, the DMA controller now bursts
      four entries at a time into the FIFO. If there is only space for one
      entry, the data is simply dropped. In practice, this resulted in 3/4 of
      samples being dropped, and playback at 4x the expected rate and pitch.
      By fixing the clocking issue, this is solved.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NLiam Girdwood <lrg@ti.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      713d1369
  2. 30 6月, 2011 1 次提交
  3. 24 6月, 2011 3 次提交
  4. 14 6月, 2011 1 次提交
  5. 10 6月, 2011 1 次提交
  6. 09 6月, 2011 3 次提交
  7. 08 6月, 2011 1 次提交
  8. 07 6月, 2011 3 次提交
  9. 06 6月, 2011 3 次提交
  10. 03 6月, 2011 1 次提交
  11. 30 5月, 2011 22 次提交