09 Dec, 2012

1 commit


02 Dec, 2012

1 commit


29 Nov, 2012

1 commit


23 Aug, 2012

1 commit


03 Jun, 2012

1 commit


28 Apr, 2012

2 commits

  • Since the analogue portions of the checks for class W are the same over
    all the devices factor out these checks into wm_hubs and while we're at
    it also use wm_hubs_dac_hp_direct() to enable class W optimisations on
    more paths.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • The optimisations which we can do with caching the headphone DCS result in
    wm_hubs have only been enabled in cases where class W is enabled. However,
    there are more use cases which can benefit from the cache, especially with
    WM8994 series devices with their more advanced digital routing.

    Rather than keying off the class W information from the CODECs have a
    check in wm_hubs for a suitable path and use that to determine if we can
    deploy our headphone optimisations.

    Signed-off-by: Mark Brown

    Mark Brown
     

18 Feb, 2012

1 commit


12 Feb, 2012

1 commit

  • The enable of the single ended line outputs on wm_hubs devices performs
    better if the output is enabled prior to starting VMID. Since inactive
    outputs are held at VMID anyway there is little cost to doing this for
    unused outputs. Add callbacks into wm_hubs and keep track of which outputs
    are really active so we can disable them once we're active.

    Signed-off-by: Mark Brown

    Mark Brown
     

11 Feb, 2012

2 commits


04 Feb, 2012

1 commit

  • Currently ASoC can only add kcontrols using codec and platform component device
    handles. It's also desirable to add kcontrols for DAIs (i.e. McBSP) and for
    SoC card machine drivers too. This allows the kcontrol to have a direct handle to
    the parent ASoC component DAI/SoC Card/Platform/Codec device and hence easily
    get it's private data.

    This change makes snd_soc_add_controls() static and wraps it in the folowing
    calls (card and dai are new) :-

    snd_soc_add_card_controls()
    snd_soc_add_codec_controls()
    snd_soc_add_dai_controls()
    snd_soc_add_platform_controls()

    This patch also does a lot of small mechanical changes in individual codec drivers
    to replace snd_soc_add_controls() with snd_soc_add_codec_controls().

    It also updates the McBSP DAI driver to use snd_soc_add_dai_controls().

    Finally, it updates the existing machine drivers that register controls to either :-

    1) Use snd_soc_add_card_controls() where no direct codec control is required.
    2) Use snd_soc_add_codec_controls() where there is direct codec control.

    In the case of 1) above we also update the machine drivers to get the correct
    component data pointers from the kcontrol (rather than getting the machine pointer
    via the codec pointer).

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

    Liam Girdwood
     

01 Feb, 2012

1 commit


31 Jan, 2012

1 commit


20 Jan, 2012

5 commits


18 Jan, 2012

1 commit


15 Dec, 2011

1 commit


14 Dec, 2011

2 commits


04 Dec, 2011

1 commit


02 Dec, 2011

1 commit


23 Nov, 2011

1 commit

  • 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:
    //
    @@
    identifier ops;
    @@
    -struct snd_soc_dai_ops ops =
    +const struct snd_soc_dai_ops ops =
    { ... };
    //

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

20 Nov, 2011

1 commit


14 Aug, 2011

1 commit


01 Aug, 2011

1 commit


13 Jul, 2011

1 commit


24 Jun, 2011

1 commit


17 May, 2011

1 commit

  • Commit fafd217 ("ASoC: Store a list of widgets in a DAPM mux/mixer kcontrol")
    changed the control private data type that is passed to snd_soc_cnew when
    creating dapm mixer and mux controls. Commit did not update a few codec
    drivers that are using their own put callbacks and thus are accessing a
    wrong data type.

    Signed-off-by: Jarkko Nikula
    Tested-by: Stephen Warren
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Jarkko Nikula
     

31 Mar, 2011

1 commit


13 Jan, 2011

1 commit


29 Dec, 2010

1 commit

  • The multi-component patch(commit f0fba2ad1) moved the allocation of the
    register cache from the driver to the ASoC core. Most drivers where adjusted to
    this, but there are quite a few drivers left which now have an unused reg_cache field in
    their private device struct.
    This patch removes these unused fields.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

15 Dec, 2010

1 commit


22 Nov, 2010

1 commit


16 Nov, 2010

1 commit


06 Nov, 2010

1 commit

  • Decoupling Dynamic Audio Power Management (DAPM) from codec devices is
    required when developing ASoC further. Such as for other ASoC components to
    have DAPM widgets or when extending DAPM to handle cross-device paths.

    This patch decouples DAPM related variables from struct snd_soc_codec and
    moves them to new struct snd_soc_dapm_context that is used to encapsulate
    DAPM context of a device. ASoC core and API of DAPM functions are modified
    to use DAPM context instead of codec.

    This patch does not change current functionality and a large part of changes
    come because of structure and internal API changes.

    Core implementation is from Liam Girdwood with some
    minor core changes, codecs and machine driver conversions from
    Jarkko Nikula .

    Signed-off-by: Liam Girdwood
    Signed-off-by: Jarkko Nikula
    Cc: Nicolas Ferre
    Cc: Manuel Lauss
    Cc: Mike Frysinger
    Cc: Cliff Cai
    Cc: Kevin Hilman
    Cc: Ryan Mallon
    Cc: Timur Tabi
    Cc: Sascha Hauer
    Cc: Lars-Peter Clausen
    Cc: Arnaud Patard (Rtp)
    Cc: Wan ZongShun
    Cc: Eric Miao
    Cc: Jassi Brar
    Cc: Daniel Gloeckner
    Cc: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Liam Girdwood
     

29 Oct, 2010

1 commit

  • Providing the analogue configuration of the output path remains the same
    the DC offset corrected by the DC servo will remain identical so we can
    skip the callibration, reducing the startup time for the headphone output.
    Implement this for the wm_hubs devices as has been done for several other
    CODECs.

    Don't do this if we have any analogue paths enabled since offsets may be
    being introduced by the analogue paths which could vary outside the
    control of the driver.

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

    Mark Brown