1. 21 Sep, 2009 2 commits
  2. 19 Sep, 2009 1 commit
  3. 18 Sep, 2009 4 commits
  4. 17 Sep, 2009 4 commits
  5. 16 Sep, 2009 2 commits
  6. 15 Sep, 2009 4 commits
  7. 14 Sep, 2009 1 commit
  8. 13 Sep, 2009 1 commit
  9. 12 Sep, 2009 1 commit
    • Julia Lawall's avatar
      ASoC: Clean up error handling in MPC5200 DMA setup · 33d7f778
      Julia Lawall authored
      Error handling code following a kzalloc should free the allocated data.
      Error handling code following an ioremap should iounmap the allocated data.
      
      The semantic match that finds the first problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @r exists@
      local idexpression x;
      statement S;
      expression E;
      identifier f,f1,l;
      position p1,p2;
      expression *ptr != NULL;
      @@
      
      x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
      ...
      if (x == NULL) S
      <... when != x
           when != if (...) { <+...x...+> }
      (
      x->f1 = E
      |
       (x->f1 == NULL || ...)
      |
       f(...,x->f1,...)
      )
      ...>
      (
       return \(0\|<+...x...+>\|ptr\);
      |
       return@p2 ...;
      )
      
      @script:python@
      p1 << r.p1;
      p2 << r.p2;
      @@
      
      print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      33d7f778
  10. 09 Sep, 2009 1 commit
  11. 08 Sep, 2009 2 commits
    • Mark Brown's avatar
      ASoC: Allow per-route connectedness checks for supplies · 215edda3
      Mark Brown authored
      Some chips with complex internal supply (particularly clocking)
      arragements may have multiple options for some of the supply
      connections. Since these don't affect user-visible audio routing
      the expectation would be that they would be managed automatically
      by one of the drivers.
      
      Support these users by allowing routes to have a connected function
      which is queried before the connectedness of the path is checked as
      normal. Currently this is only done for supplies, other widgets
      could be supported but are not currently since the expectation for
      them is that audio routing will be under the control of userspace.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      215edda3
    • Manuel Lauss's avatar
      ASoC: au1x: PSC-AC97 bugfixes · cdc65fbe
      Manuel Lauss authored
      This patch fixes the following bugs:
      
      - only reprogram bitdepth if it has changed since last call to hw_params.
      - add locking inside ac97_read/write functions:
        When reprogramming sample depth, the ac97 unit has to be disabled,
        which should not be done in the middle of codec register accesses.
      
      - retry timed-out codec register accesses.
      
      - wait for status bits to set/clear when starting/stopping various
        functional blocks; very important after reenabling AC97 unit else
        sound may be distorted (e.g. high-pitch noise in 1kHz sine wave).
      
      - clear fifos before/after starting/stopping RX/TX.
      
      - longer timeouts waiting for PSC/AC97 ready after cold reset
        with certain codecs this can take ridiculous amounts of time.
      
      Run-tested on various Au1200 platforms with various codecs.
      Signed-off-by: default avatarManuel Lauss <manuel.lauss@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      cdc65fbe
  12. 07 Sep, 2009 3 commits
  13. 05 Sep, 2009 1 commit
  14. 04 Sep, 2009 1 commit
  15. 02 Sep, 2009 1 commit
  16. 01 Sep, 2009 2 commits
  17. 28 Aug, 2009 2 commits
  18. 26 Aug, 2009 4 commits
  19. 25 Aug, 2009 3 commits
    • Candelaria Villareal, Jorge's avatar
      ASoC: SDP3430: Fix TWL GPIO6 pin mux request · 30cd0c4a
      Candelaria Villareal, Jorge authored
      Fix the write to PMBR1 register through I2C. Also, the constant which
      holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. This
      name is based on TRM to avoid confusion.
      Signed-off-by: default avatarJorge Eduardo Candelaria <x0107209@ti.com>
      Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      30cd0c4a
    • Shine Liu's avatar
      ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time · faf907c7
      Shine Liu authored
      s3c24xx dma has the auto reload feature, when the the trnasfer is done,
      CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DMA
      ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. So
      the transmission is repeated.
      
      IRQ is issued while auto reload occurs. We change the DISRC and
      DCON[19:0] in the ISR, but at this time, the auto reload has been
      performed already. The first block is being re-transmitted by the DMA.
      
      So we need rewrite the DISRC and DCON[19:0] for the next block
      immediatly after the this block has been started to be transported.
      
      The function s3c2410_dma_started() is for this perpose, which is called
      in the form of "s3c2410_dma_ctrl(prtd->params->channel,
      S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger().
      
      But it is not correct. DMA transmission won't start until DMA REQ signal
      arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1)
      is called in s3c24xx_i2s_trigger().
      
      In the current framework, s3c24xx_pcm_trigger() is always called before
      s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called in
      s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) or
      s3c24xx_snd_rxctrl(1) is called in this function.
      
      However, s3c2410_dma_started() is dma related, to call this function we
      should provide the channel number, which is given by
      substream->runtime->private_data->params->channel. The private_data
      points to a struct s3c24xx_runtime_data object, which is define in
      s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.c
      
      Fix this by moving the call to signal the DMA started to the DAI
      drivers.
      Signed-off-by: default avatarShine Liu <liuxian@redflag-linux.com>
      Signed-off-by: default avatarShine Liu <shinel@foxmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      faf907c7
    • Jarkko Nikula's avatar
      ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop · d09a2afc
      Jarkko Nikula authored
      Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enable
      can be merged into omap_mcbsp_start and omap_mcbsp_stop since API of
      those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowing
      to start and stop individually the transmitter and receiver.
      
      This cleans up the code in arch/arm/plat-omap/mcbsp.c and in
      sound/soc/omap/omap-mcbsp.c which was the only user for those removed
      functions.
      Signed-off-by: default avatarJarkko Nikula <jhnikula@gmail.com>
      Acked-by: default avatarEero Nurkkala <ext-eero.nurkkala@nokia.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      d09a2afc