1. 19 6月, 2015 1 次提交
    • R
      ASoC: wm_adsp: Move DSP Rate controls into the codec · 336d0442
      Richard Fitzgerald 提交于
      The rate controls are codec-specific, it's not possible to
      generically say what the range or the meaning of each control
      is (or even if they exist at all) - that depends on the
      particular codec.
      
      This is currently being handled for Arizona codecs by putting
      an Arizona-specific table of controls inside the wm_adsp driver.
      This creates a dependency between wm_adsp and arizona.c, and is an
      awkward solution if the ADSP is used in another family of codecs
      
      Fix this by moving the Arizona-specific rate controls into the
      Arizona codec drivers.
      Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      336d0442
  2. 11 6月, 2015 3 次提交
  3. 04 6月, 2015 1 次提交
  4. 03 6月, 2015 4 次提交
    • R
      ASoC: arizona: Add DVFS handling for sample rate control · 2c118b4c
      Richard Fitzgerald 提交于
      The WM8997 and WM5102 codecs need to boost DVFS for higher sample rates.
      Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
      Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      2c118b4c
    • R
      ASoC: wm_adsp: Move DVFS control into codec driver · 81ac58b1
      Richard Fitzgerald 提交于
      In theory the ADSP driver should not need to know anything
      about the codec it is part of. But the WM5102 needs DVFS
      control based on ADSP clocking speed. This was being handled
      by bundling part of the knowledge of this into the ADSP driver.
      
      This change moves this handling out of the ADSP driver and
      into the WM5102 driver.
      Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      81ac58b1
    • R
      ASoC: arizona: Export functions to control subsystem DVFS · 346d9683
      Richard Fitzgerald 提交于
      The WM5102 and WM8997 codecs have an internal dynamic clock booster.
      When this booster is active, the DCVDD voltage must be increased.
      If all the currently active audio paths can run with the root SYSCLK
      we can disable the booster, allowing us to turn down DCVDD voltage
      to save power.
      
      Previously this was being done by having the booster enable bit set
      as a side-effect of the LDO1 regulator driver, which is unexpected
      behaviour of a regulator and not compatible with using an external
      regulator.  [Originally this was documented as a feature of the internal
      LDO -- broonie]
      
      This patch exports functions to handle the booster enable and
      DCVDD voltage, with each relevant subsystem flagging whether it can
      currently run without the booster. Note that these subsystems are
      stateless and none of them are nestable, so there's no need for
      reference counting, we only need a simple boolean for each subsystem
      of whether their current condition could require the booster or will
      allow us to turn the codec down to lower operating power.
      Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      346d9683
    • V
      ASoC: dapm: fix snd_soc_dapm_new_control() implicit declaration · 5353f65b
      Vladimir Zapolskiy 提交于
      The change fixes the following compilation problem:
      
        sound/soc/soc-dapm.c: In function 'dapm_kcontrol_data_alloc':
        sound/soc/soc-dapm.c:388:4: error: implicit declaration of function
          'snd_soc_dapm_new_control' [-Werror=implicit-function-declaration]
          data->widget = snd_soc_dapm_new_control(widget->dapm,
          ^
      
        sound/soc/soc-dapm.c:387:17: warning: assignment makes pointer
          from integer without a cast [enabled by default]
          data->widget = snd_soc_dapm_new_control(widget->dapm,
                       ^
        sound/soc/soc-dapm.c: At top level:
        sound/soc/soc-dapm.c:3269:1: error: conflicting types for
          'snd_soc_dapm_new_control'
        snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm,
        ^
      
      In addition to the fix add static qualifier to
      snd_soc_dapm_new_control() function to silence checkpatch.
      
      Fixes: 02aa78ab ("ASoC: DAPM: Add APIs to create individual DAPM controls.")
      Signed-off-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      5353f65b
  5. 01 6月, 2015 31 次提交