12 Feb, 2010

3 commits


10 Feb, 2010

4 commits

  • Signed-off-by: Paul Menzel
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Paul Menzel
     
  • The serial interface (TDM/I2S) for the audio block have been
    constantly enabled.
    Introduce a new DAPM_SUPPLY for handling the AIF_EN bit, so
    the interface is only enabled, when there is a need for it.
    For example when only the analog loopback is enabled, there
    is no need to keep the serial interface active.

    I have added the persons who contributed to the Voice path
    of twl4030 codec driver, so they might have the ability
    to test this patch, and send an update for the Voice path,
    if it is necessary

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • Enable the bulk regulators at probe time so we can safely disable them
    again when going to suspend without confusing the reference counter.

    Signed-off-by: Daniel Mack
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Daniel Mack
     
  • This patch adds sound support for Phytec PhyCORE / PhyCARD
    modules in AC97 mode.

    Signed-off-by: Sascha Hauer
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Mark Brown
     

06 Feb, 2010

1 commit


05 Feb, 2010

2 commits


04 Feb, 2010

10 commits

  • The module unloading path had several problems:
    - it freed up the private structure twice
    - it freed up the codec structure, which was allocated as part
    of the private structure
    - it did not freed up the reg_cache
    - it did not unregistered the dais and the codec

    Signed-off-by: Peter Ujfalusi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • The WM8912 is a DAC only device register compatible with the WM8904
    CODEC with ADC portions omitted. Support it within the WM8904 driver
    based on the configured I2C device name.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • Handle the output PGAs as part of the output powerup since they can
    never be powered separately and reorder things so that we remove the
    output shorts after both line and headphone outputs have been brought
    up, minimising the opportunity for any issues.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • As well as disabling the biases of the CODEC the drop into BIAS_OFF will
    also disable all the regulators powering the CODEC, allowing even greater
    power savings on appropriately configured systems.

    Since the regulator API does not currently provide notification when
    regulators are disabled we assume that this always happens when we stop
    using the regulators. Once 2.6.34 is merged this code can be optimised
    to only sync the cache when power was actually removed.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • While the regulators are disabled we cache all register writes.
    Currently we assume that the regulator disable actually takes
    effect, after the merge with the regulator tree in 2.6.34 the
    regulator API will be able to notify us if the power is actually
    removed (due to constraints or regulator sharing it may not be).

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • At the minute the regulators are simply enabled for the entire
    lifetime of the device.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • Saves a little bit of code duplication.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • Add a bit to the CODEC structure indicating if a cache sync is required.
    By default this will be set if a cache only write is done to a soc-cache
    register cache. This allows us to avoid syncing the cache back after
    using cache only writes if there were no changes.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • Currently the soc-cache code will always write to the device, meaning
    that we need the device to be powered and active at pretty much all
    times the system is active. Allowing cache only writes lays some
    groundwork for future enhancements to allow devices to be put into a
    full off state when the audio subsystem is idle.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • ctrl_outl() has become void at some point, which breaks compilation of fsi.c.
    Make writing functions void, as their output is anyway not evaluated, and use
    __raw_writel and __raw_readl instead of deprecated ctrl_outl and ctrl_inl
    respectively.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Guennadi Liakhovetski
     

02 Feb, 2010

7 commits

  • Unconditionally save the register states when suspending and restore
    them again at resume time. Register contents were not preserved over
    suspend, and hence the driver takes false assumptions about them.

    The clock must be enabled to access the register block.

    Signed-off-by: Daniel Mack
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Daniel Mack
     
  • String constants that are continued on subsequent lines with \
    are not good.

    Signed-off-by: Joe Perches
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Joe Perches
     
  • This fixes BCLK calculation and removes unnecessary check code.

    Signed-off-by: Joonyoung Shim
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Joonyoung Shim
     
  • The dependency on MFD_WM8994 rather than I2C went awry.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • The WM8994 is a highly integrated ultra-low power hi-fi audio subsystem
    designed for smartphones and other portable devices rich in multimedia
    features. It provides advanced digital mixing facilities enabling low
    power high quality interconnection of CPU, baseband and other audio
    sources through flexible digital and analogue routing, and integrates
    a class W headphone driver and stereo class D speaker drivers.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • Use a two code correction for optimal performance.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     
  • Perform DC servo offset calibration using a series update sequence
    rather than startup update sequence, tuning the configuration of the
    WM8993 DC servo to make best use of this.

    Also introduce currently unused data allowing us to correct for
    any systematic errors in the DC servo calibration results and an
    alternative startup path for the headphone output which performs
    better with some chip revisions. The alternative setup sequence is
    enabled for WM8993.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood

    Mark Brown
     

01 Feb, 2010

2 commits


29 Jan, 2010

7 commits


28 Jan, 2010

4 commits