1. 24 6月, 2016 1 次提交
  2. 01 3月, 2016 1 次提交
  3. 28 10月, 2015 1 次提交
  4. 05 8月, 2015 2 次提交
  5. 15 7月, 2015 1 次提交
  6. 01 6月, 2015 1 次提交
  7. 28 4月, 2015 1 次提交
  8. 02 4月, 2015 2 次提交
    • L
      ASoC: wm8753: Cleanup manual bias level transitions · a1f0b967
      Lars-Peter Clausen 提交于
      Set the CODEC driver's suspend_bias_off flag rather than manually going to
      SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes
      the code a bit shorter and cleaner.
      
      Since the ASoC core now takes care of setting the bias level to
      SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually
      anymore either.
      
      The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe()
      can also be removed as the core will automatically do this after the CODEC
      has been probed.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a1f0b967
    • L
      ASoC: wm8753: Integrate capacitor charging into the DAPM sequence · 35afd922
      Lars-Peter Clausen 提交于
      When being powered on, either initially on probe or when resuming from
      suspend, the wm8971 configures the device for quick output capacitor
      charging. Since the charging can take a rather long time (up to multiple
      seconds) it is done asynchronously without blocking. A delayed work item is
      run once the charging is finished and the device is switched to the target
      bias level.
      
      This all done asynchronously to the regular DAPM sequence accessing the same
      data structures and registers without any looking, which can lead to race
      conditions. Furthermore this potentially delays the start of stream on the
      CODEC while the rest of the system is already up and running, meaning the
      first bytes of audio are lost. It also does no comply with the assumption of
      the DAPM core that if set_bias_level() returned successfully the device will
      be at the requested bias level.
      
      This patch slightly refactors things and makes sure that the caps charging
      is properly integrated into the DAPM sequence. When transitioning from
      SND_SOC_BIAS_OFF to SND_SOC_BIAS_STANDBY the part will be put into fast
      charging mode and a work item will be scheduled that puts it back into
      standby charging once the charging period has elapsed. If a playback or
      capture stream is started while charging is in progress the driver will now
      wait in SND_SOC_BIAS_PREPARE until the charging is done. This makes sure
      that charging is done asynchronously in the background when the chip is
      idle, but at the same time makes sure that playback/capture is not started
      before the charging is done.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      35afd922
  9. 30 9月, 2014 1 次提交
  10. 01 8月, 2014 1 次提交
  11. 15 4月, 2014 1 次提交
  12. 11 3月, 2014 1 次提交
  13. 06 3月, 2014 1 次提交
  14. 04 3月, 2014 1 次提交
  15. 28 11月, 2013 1 次提交
  16. 19 7月, 2013 1 次提交
  17. 09 12月, 2012 1 次提交
  18. 23 11月, 2012 2 次提交
  19. 21 8月, 2012 1 次提交
    • T
      workqueue: deprecate flush[_delayed]_work_sync() · 43829731
      Tejun Heo 提交于
      flush[_delayed]_work_sync() are now spurious.  Mark them deprecated
      and convert all users to flush[_delayed]_work().
      
      If you're cc'd and wondering what's going on: Now all workqueues are
      non-reentrant and the regular flushes guarantee that the work item is
      not pending or running on any CPU on return, so there's no reason to
      use the sync flushes at all and they're going away.
      
      This patch doesn't make any functional difference.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Mattia Dongili <malattia@linux.it>
      Cc: Kent Yoder <key@linux.vnet.ibm.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Alasdair Kergon <agk@redhat.com>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: linux-wireless@vger.kernel.org
      Cc: Anton Vorontsov <cbou@mail.ru>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Eric Van Hensbergen <ericvh@gmail.com>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Petr Vandrovec <petr@vandrovec.name>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Avi Kivity <avi@redhat.com> 
      43829731
  20. 03 6月, 2012 1 次提交
  21. 04 4月, 2012 1 次提交
  22. 04 3月, 2012 1 次提交
    • D
      ASoC: wm8753: fix initialization · ad20ff92
      Denis 'GNUtoo' Carikli 提交于
      Without that fix the wm8753 SPI initialization fails, and then produces
        a kernel panic during boot with the following call trace:
          Unable to handle kernel paging request at virtual address 37386d9b
          [<c01ccafc>] (regmap_get_val_bytes+0x0/0x14) from [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc)
          [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc) from [<c0244a4c>] (wm8753_probe+0x5c/0x1c4)
          [<c0244a4c>] (wm8753_probe+0x5c/0x1c4) from [<c023bb24>] (soc_probe_codec+0x174/0x284)
          [<c023bb24>] (soc_probe_codec+0x174/0x284) from [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28)
          [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28) from [<c023d278>] (snd_soc_register_card+0x240/0x2d4)
          [<c023d278>] (snd_soc_register_card+0x240/0x2d4) from [<c023d330>] (soc_probe+0x24/0x40)
          [<c023d330>] (soc_probe+0x24/0x40) from [<c01c3900>] (platform_drv_probe+0x14/0x18)
          [...]
      
      The commit d3398ff0
       ( ASoC: Convert WM8753 to direct regmap API usage ) introduced
       the problem.
      
      Thanks to Lars-Peter Clausen for helping me a bit during the debugging.
      Signed-off-by: NDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      ad20ff92
  23. 27 2月, 2012 1 次提交
  24. 20 1月, 2012 1 次提交
  25. 02 12月, 2011 1 次提交
  26. 27 11月, 2011 1 次提交
  27. 23 11月, 2011 1 次提交
    • L
      ASoC: Constify snd_soc_dai_ops structs · 85e7652d
      Lars-Peter Clausen 提交于
      Commit 1ee46ebd("ASoC: Make the DAI ops constant in the DAI structure")
      introduced the possibility to have constant DAI ops structures, yet this is
      barley used in both existing drivers and also new drivers being submitted,
      although none of them modifies its DAI ops structure. The later is not
      surprising since existing drivers are often used as templates for new drivers.
      So this patch just constifies all existing snd_soc_dai_ops structs to eliminate
      the issue altogether.
      
      The patch was generated with the following coccinelle semantic patch:
      // <smpl>
      @@
      identifier ops;
      @@
      -struct snd_soc_dai_ops ops =
      +const struct snd_soc_dai_ops ops =
      { ... };
      // </smpl>
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      85e7652d
  28. 22 11月, 2011 1 次提交
  29. 18 11月, 2011 1 次提交
  30. 03 10月, 2011 1 次提交
  31. 14 8月, 2011 1 次提交
  32. 09 8月, 2011 1 次提交
  33. 31 3月, 2011 1 次提交
  34. 07 2月, 2011 1 次提交
    • L
      ASoC: codecs: wm8753: Fix DAI mode switching · 338ee253
      Lars-Peter Clausen 提交于
      The wm8753 codec supports switching between different DAI modes.
      The current drivers tries to implement this by changing the DAI driver at
      runtime. But to properly work this would require support from the ASoC core.
      
      So this patch takes a different approch on how the DAI mode switching is
      implemented.
      
      The only difference, from a driver point of view, between the different DAI modes
      is how to program the DAI format to the hardware. So what this patch is, it
      stores the current format for each DAI in the drivers private struct and when
      the DAI mode is changed the format gets simply reprogrammed according to the
      new DAI mode.
      
      Futhermore this patch restricts the changing of the DAI format to when the
      codec is inactive.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      338ee253
  35. 29 12月, 2010 1 次提交
    • L
      ASoC: codecs: wm8753: Fix register cache incoherency · 776065e3
      Lars-Peter Clausen 提交于
      The multi-component patch(commit f0fba2ad) moved the allocation of the
      register cache from the driver to the ASoC core. Most drivers where adjusted to
      this, but the wm8753 driver still uses its own register cache for its
      private functions, while functions from the ASoC core use the generic cache.
      Furthermore the generic cache uses zero-based numbering while the wm8753 cache
      uses one-based numbering.
      Thus we end up with two from each other incoherent caches, which leads to undefined
      behaviour and crashes.
      This patch fixes the issue by changing the wm8753 driver to use the generic
      register cache in its private functions.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      776065e3
  36. 13 12月, 2010 2 次提交