02 Dec, 2010

1 commit


30 Nov, 2010

13 commits

  • New DAPM widgets, and paths to enable both channels at the
    same time (for stereo output).
    With this path the switch time difference can be avoided
    between left and right channels.
    The original DAPM paths can be still used, if only one of
    TPA's output has been connected to a speaker, but for most of
    the cases, switching to the stereo path is better.

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

    Peter Ujfalusi
     
  • Reduce the amount of duplicated code by using single
    event handler for PGA_E to enable the needed channel.
    Use the w->shift to pass the channel information to
    the handler function.

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

    Peter Ujfalusi
     
  • Do not enable the amplifier right after the power has been
    restored to the amplifier.
    The DAPM_SUPPLY widget turns on the amp early in the DAPM
    power walk, and the unmuting of channel happens quite late.
    Keeping the amp in SW reset state ensures better muting.
    In this way the pop noise coming from other components (codec)
    can be filtered out.

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

    Peter Ujfalusi
     
  • Use simpler way to avoid setting the same power state
    for the amplifier.
    Simplifies the check introduced by patch:
    ASoC: tpa6130a2: Fix unbalanced regulator disables

    Signed-off-by: Peter Ujfalusi
    Cc: Jarkko Nikula
    Signed-off-by: Liam Girdwood

    Peter Ujfalusi
     
  • During playback start the codec has been already powered at
    BIAS_ON event time, so there's no need to enable the codec again.

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

    Peter Ujfalusi
     
  • No need to enable the codec at this time.
    The codec will be enabled later by other events

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

    Peter Ujfalusi
     
  • Mark Brown
     
  • Otherwise, calling dev_get_drvdata in p1022_ds_remove returns NULL.

    Signed-off-by: Axel Lin
    Acked-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Otherwise, calling dev_get_drvdata in mpc8610_hpcd_remove returns NULL.

    Signed-off-by: Axel Lin
    Acked-by: Timur Tabi
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Axel Lin
     
  • I think this unneededd !! operations just reduce the readability.

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

    Axel Lin
     
  • This patch fixes below error:

    CC sound/soc/nuc900/nuc900-pcm.o
    sound/soc/nuc900/nuc900-pcm.c: In function 'nuc900_dma_open':
    sound/soc/nuc900/nuc900-pcm.c:267: error: 'nuc900_ac97_data' undeclared (first use in this function)
    sound/soc/nuc900/nuc900-pcm.c:267: error: (Each undeclared identifier is reported only once
    sound/soc/nuc900/nuc900-pcm.c:267: error: for each function it appears in.)
    sound/soc/nuc900/nuc900-pcm.c: At top level:
    sound/soc/nuc900/nuc900-pcm.c:337: error: expected ',' or ';' before 'static'
    sound/soc/nuc900/nuc900-pcm.c:354: error: 'nuc900_soc_platform_probe' undeclared here (not in a function)
    make[3]: *** [sound/soc/nuc900/nuc900-pcm.o] Error 1
    make[2]: *** [sound/soc/nuc900] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

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

    Axel Lin
     
  • This patch fixes below compile warning:

    CC sound/soc/nuc900/nuc900-ac97.o
    sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type
    sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type

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

    Axel Lin
     
  • Fix below compile error by add a missing ';'.

    CC sound/soc/nuc900/nuc900-ac97.o
    sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type
    sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type
    sound/soc/nuc900/nuc900-ac97.c:318: error: expected ',' or ';' before 'static'
    sound/soc/nuc900/nuc900-ac97.c:405: error: 'nuc900_ac97_drvprobe' undeclared here (not in a function)
    make[3]: *** [sound/soc/nuc900/nuc900-ac97.o] Error 1
    make[2]: *** [sound/soc/nuc900] Error 2
    make[1]: *** [sound/soc] Error 2
    make: *** [sound] Error 2

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

    Axel Lin
     

29 Nov, 2010

6 commits


27 Nov, 2010

8 commits

  • This allows us to communicate our power management state back to the
    parent device, allowing it to do a full power down when the device is
    idle.

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

    Mark Brown
     
  • The WM8994 and WM8958 register map is relatively sparse so benefits
    from compression. The rbtree compression gives better results than
    LZO for both memory and CPU consumption on a map as sparse as this.

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

    Mark Brown
     
  • In the process we convert the driver to read registers one at a time
    when initialising the cache. This has the effect of working around
    limitations in the sizes of I2C transactions which can be done by some
    CPUs. Due to the sparseness of the register map the overhead from this
    should be minimual unless I2C transactions are very expensive to start.

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

    Mark Brown
     
  • The WM8958 contains an advanced accessory detection feature which allows
    detection of up to seven different impedence levels on the microphone
    bias output, including detection of video outputs. Since some of the
    more involved accessory interfaces may involve noticable interactions
    with external components a simple detection scheme is provided by
    default with the option to provide custom handling of accessory detect.

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

    Mark Brown
     
  • The WM8958 features a multi-band compressor which can be enabled on
    any of the AIF inputs. The MBC allows different gains to be applied to
    differnt audio bands, providing an improvement in perceived loudness
    of the signal by avoiding overdriving the output transducers. This
    patch enables support for the MBC.

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

    Mark Brown
     
  • Additional audio routing options are available on the WM8958 audio
    interface 3. Add support for these.

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

    Mark Brown
     
  • The WM8958 is a WM8994 derivative. This patch merely ensures that some
    revision specific configuration for WM8994 is not enabled on WM8994,
    additional patches will add support for the new features introduced on
    the WM8958.

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

    Mark Brown
     
  • Devices which do not have a DCS correction applied can use the explicit
    DC servo startup mode for optimal startup performance. This most
    immediately affects the WM8958.

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

    Mark Brown
     

26 Nov, 2010

6 commits

  • Several of the GPIOs on the WM8994 are fixed function on the WM8958 so
    error out if the user tries to request them with gpiolib.

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

    Mark Brown
     
  • The WM8958 is a derivative of the WM8994 which is register compatible
    with the addition of some extra features, mostly in the CODEC side.
    The major change visible at the MFD level is that rather than a single
    DBVDD supply we now have three separate DBVDDs so we must request and
    enable a different set of supplies.

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

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

    Mark Brown
     
  • Mark Brown
     
  • In current implementation, there are resources leak in the error path.
    This patch properly reclaims the allocated resources in the error path.

    Also adds a missing clk_put in osk_soc_exit.

    Signed-off-by: Axel Lin
    Acked-by: Jarkko Nikula
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Axel Lin
     
  • If aic3x_read failed , val is used uninitialized.
    Fix it by initializing val to 0.

    This patch fixes below compile warning:
    sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_get_gpio':
    sound/soc/codecs/tlv320aic3x.c:1183: warning: 'val' may be used uninitialized in this function
    sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_headset_detected':
    sound/soc/codecs/tlv320aic3x.c:1211: warning: 'val' may be used uninitialized in this function
    sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_button_pressed':
    sound/soc/codecs/tlv320aic3x.c:1219: warning: 'val' may be used uninitialized in this function

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

    Axel Lin
     

25 Nov, 2010

6 commits