#
811c5494 |
|
27-Aug-2020 |
Sylwester Nawrocki <s.nawrocki@samsung.com> |
ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811 The WM8994_MICBIAS register is not available in the WM1811 CODEC so skip initialization of that register for that device. This suppresses an error during boot: "wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec" Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200827173357.31891-1-s.nawrocki@samsung.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
6d75dfc3 |
|
15-Jun-2020 |
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
ASoC: codecs: wm*: rename to snd_soc_component_read() We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87eeqf4mcl.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
d2912cb1 |
|
04-Jun-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 Based on 2 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation # extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 4122 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Enrico Weigelt <info@metux.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
00a6941c |
|
28-Jan-2018 |
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
ASoC: wm8993/wm8994/wm8958: replace codec to component Now we can replace Codec to Component. Let's do it. Becase wm8993/wm8994/wm8958 are using wm_hubs feature, we need to update these all related drivers in same time. Otherwise compile error/warning happen wm8993: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 wm8994: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
4d39f0ac |
|
27-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
scripts/spelling.txt: add "unneded" pattern and fix typo instances Fix typos and add the following to the scripts/spelling.txt: unneded||unneeded Link: http://lkml.kernel.org/r/1481573103-11329-15-git-send-email-yamada.masahiro@socionext.com Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
#
2e45a25f |
|
02-Aug-2015 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: wm_hubs: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE DECLARE_TLV_DB_RANGE() has the advantage over using TLV_DB_RANGE_HEAD() that it automatically calculates the number of items in the TLV and is hence less prone to manual error. Generate using the following coccinelle script // <smpl> @@ declarer name DECLARE_TLV_DB_RANGE; identifier tlv; constant x; @@ -unsigned int tlv[] = { - TLV_DB_RANGE_HEAD(x), +DECLARE_TLV_DB_RANGE(tlv, ... -}; +); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
4a6c2aa1 |
|
01-Jun-2015 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: wm_hubs: Replace direct snd_soc_codec dapm field access The dapm field of the snd_soc_codec struct is eventually going to be removed, in preparation for this replace all manual access to codec->dapm with snd_soc_codec_get_dapm(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
0201e505 |
|
13-Jan-2015 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: wm_hubs: Replace w->codec snd_soc_dapm_to_codec(w->dapm) The codec field of the snd_soc_widget struct is eventually going to be removed, use snd_soc_dapm_to_codec(w->dapm) instead. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
ba546687 |
|
20-Jun-2014 |
Sachin Kamat <sachin.kamat@samsung.com> |
ASoC: wm_hubs: Remove redundant OOM message Let memory subsystem handle the error logging. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
ea53bf77 |
|
18-Mar-2014 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: Add snd_soc_kcontrol_codec() helper function For CODEC controls snd_kcontrol_chip() currently returns a pointer to the CODEC that registered the control. With the upcoming consolidation of platform and CODEC controls this will change. Prepare for this by introducing the snd_soc_kcontrol_codec() helper function that will hide the implementation details of how the CODEC for a control can be obtained. This will allow us to change this easily in the future. The patch also updates all CODEC drivers to use the new helper function. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
abc4b4fb |
|
18-Feb-2014 |
Takashi Iwai <tiwai@suse.de> |
ASoC: wm_hubs: Use SOC_ENUM_SINGLE_DECL() Just replace with the helper macro. No functional change at all. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
9a743400 |
|
06-Nov-2013 |
Takashi Iwai <tiwai@suse.de> |
ASoC: wm_hubs: Replace BUG() with WARN() BUG() used in the driver is just to spit the stack trace on buggy points, not really needed to stop the whole operation. For that purpose, it'd be more convenient to use WARN() instead with more error information. Cc: patches@opensource.wolfsonmicro.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
268ff145 |
|
30-Oct-2013 |
Takashi Iwai <tiwai@suse.de> |
ASoC: wm_hubs: Add missing break in hp_supply_event() Spotted by coverity CID 115170. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
|
#
eee5d7f9 |
|
29-Jul-2013 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: dapm: Add a helper to get the CODEC for DAPM kcontrol We use the same 3 lines to get the CODEC for a kcontrol in a quite a few places. This patch puts them into a common helper function. Having this encapsulated in a helper function will also make it more easier to eventually change the data layout of the kcontrol's private data. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
98809ae2 |
|
19-Jun-2013 |
Lars-Peter Clausen <lars@metafoo.de> |
ASoC: wm_hubs: Use SOC_SINGLE_EXT() instead of open-coding it Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
|
#
1f5353e7 |
|
10-Mar-2013 |
Tim Gardner <tim.gardner@canonical.com> |
ASoC: wm_hubs: Silence reg_r and reg_l 'may be used uninitialized' warnings Return an error from wm_hubs_read_dc_servo() if hubs->dcs_readback_mode is not correctly initialized. You might as well bail out since nothing is likely to work correctly afterwards. sound/soc/codecs/wm_hubs.c:321:11: warning: 'reg_r' may be used uninitialized in this function [-Wuninitialized] sound/soc/codecs/wm_hubs.c:251:13: note: 'reg_r' was declared here sound/soc/codecs/wm_hubs.c:322:11: warning: 'reg_l' may be used uninitialized in this function [-Wuninitialized] sound/soc/codecs/wm_hubs.c:251:6: note: 'reg_l' was declared here gcc version 4.6.3 Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
eb4d5fc1 |
|
27-Sep-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Ensure volume updates are handled during class W startup In some circumstances we may need to flush volume updates to the device after switching to class W mode. Do this unconditionally to ensure that these situations are handled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
|
#
02e79476 |
|
21-Aug-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Allow configuration of MICBIAS power up delay via pdata Sometimes the analogue circuitry connected to the microphone needs some time to settle after power up. Allow systems to configure this delay in the platform data, the driver will then insert the required delay during power up of paths that involve the microphone. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
20bac1f3 |
|
20-Aug-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Add trace showing semantics of the DCS update Aids diagnostics. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
363947d7 |
|
20-Aug-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Use explicit casts for converting to signed Should be no behaviour change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
a7892c35 |
|
23-Jul-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Rename calibrate_dc_servo() Really we're enabling it here and the name will become very confusing shortly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
fae4efa2 |
|
23-Jul-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Factor out DC servo readback code It's currently only used in one place but another user will be added shortly and there's an argument it's clearer anyway. Also add support for readback in mode 1, though it's not currently used. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
8cb8e83b |
|
25-Jul-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Move CODEC stored in private data into wm_hubs Further wm_hubs code will use this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
656baaeb |
|
22-May-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: codecs: Refresh copyrights for Wolfson drivers Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
94aa733a |
|
01-May-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Cache multiple DCS offsets Rather than invalidating the cached DCS value every time the headphone gain changes store multiple values, indexed by gain. This allows the optimisation we get from the cache to take effect more often. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
04de57c1 |
|
26-Apr-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Enable class W for output mixer paths Class W can be used for any path where only data from the DAC is routed to the headphones. Currently we only enable it when the direct DAC to headphone path is used but it can also be enabled for paths that go via the output mixer providing the DAC is the only input to the output mixer. Implement support for this, including updates to the class W status when the output mixer configuration is changed. This also allows us to enable the DC servo optimisations for DAC to headphone paths where the output mixer is used. In general the direct DAC path is still preferred as this will offer better performance on most wm_hubs devices but these additional paths can simplify use case management. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
c340304d |
|
26-Apr-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Factor out class W management 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 <broonie@opensource.wolfsonmicro.com>
|
#
af31a227 |
|
26-Apr-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Special case headphones for digital paths in more use cases 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 <broonie@opensource.wolfsonmicro.com>
|
#
de050aca |
|
17-Apr-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Make sure we don't disable differential line outputs While we need to clean up unused single ended line outputs we don't want to do this if the outputs are in differential mode. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
5472bbc9 |
|
19-Mar-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Don't actively manage LINEOUT_VMID_BUF It can just be enabled all the time with no impact. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
67109cbe |
|
29-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Disable cache of the DC servo calibration for WM1811 The WM1811 DC servo is able to run much faster than previous devices so the benefit of skipping calibration is not useful. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
e778ba07 |
|
29-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Bomb out if we can't read back the DC servo result Should have no practical impact but it's safer than trying to soldier on. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
26422625 |
|
21-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Convert headphone driver to output driver widget Mostly for neatness, though it may help with sequencing in some situations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
d60d6c3b |
|
10-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Clamp inputs to VMID while we ramp Reduces the amount of time taken to stabilise them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
5f2f3890 |
|
08-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Improve single ended line output enable performance 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 <broonie@opensource.wolfsonmicro.com>
|
#
dc9c7454 |
|
07-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Convert most output drivers to OUT_DRV widgets No practical impact but now we have the control type we may as well use it for the slightly nicer sequencing. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
022658be |
|
03-Feb-2012 |
Liam Girdwood <lrg@ti.com> |
ASoC: core: Add support for DAI and machine kcontrols. 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 <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
43b6cec2 |
|
01-Feb-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Correct line input to line output 2 paths The second line output mixer has the controls for the line input bypasses in the opposite order. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
|
#
f959dee9 |
|
31-Jan-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Push check for idle_bias_off out into drivers For later wm_hubs devices we have much less need to keep the biases up even when using single ended line outputs so flag idle_bias_off for everything except the WM8993 and WM8994. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
ee76744c |
|
31-Jan-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Fix routing of input PGAs to line output mixer IN1L/R is routed to both line output mixers, we don't route IN1 to LINEOUT1 and IN2 to LINEOUT2. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
|
#
114395c6 |
|
27-Jan-2012 |
UK KIM <w0806.kim@samsung.com> |
ASoC: wm_hubs: fix wrong bits for LINEOUT2 N/P mixer Signed-off-by: UK KIM <w0806.kim@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
|
#
77231abe |
|
19-Jan-2012 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: wm_hubs: Enable line out VMID buffer for single ended line outputs For optimal performance the single ended line outputs require that the line output VMID buffer be enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
|
#
91e20854 |
|
02-Dec-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Convert WM8994 MICBIASes to supply widgets There are some in tree systems using the driver but none use the MICBIAS widgets. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
997c2ea9 |
|
26-Nov-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Remove unneeded platform_device.h inclusions from CODECs They've not been needed for a long time if they were ever required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
028aa634 |
|
20-Nov-2011 |
Clemens Ladisch <clemens@ladisch.de> |
ASoC: wm_hubs: fix DB_RANGE size Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent reading more data than actually is in the array. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
|
#
03431972 |
|
04-Nov-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Disable thermal shutdown when not using speakers in wm_hubs The thermal shutdown support in wm_hubs devices is tied to the speaker drivers (which are the only high power subsystems within the device). Ensure minimal current usage when the thermal shutdown support is not required by disabling the circuit when the speaker drivers are powered down. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
c4671a95 |
|
06-Oct-2011 |
Peter Ujfalusi <peter.ujfalusi@ti.com> |
ASoC: Replace remaining use of *_volsw_2r with *_volsw The snd_soc_*_volsw_2r functionality has been merged to *volsw callbacks. Few places still used the get, or put variant of volsw_2r, replace those with the corresponding *_volsw. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
0f9887d1 |
|
05-Oct-2011 |
Peter Ujfalusi <peter.ujfalusi@ti.com> |
ASoC: Consolidate use of controls with custom get/put function Use the macros for controls require custom get/put function. This is to make sure that the soc_mixer_control is used consistently among the drivers. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Arun KS <arunks@mistralsolutions.com> Cc: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
4e04adaf |
|
15-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Add VMID widget for wm_hubs devices Currently this does not actually do anything, it is being introduced in order to facilitate additional power optimisations for current generation devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
4537c4e7 |
|
31-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Support separate left and right channel dcs_codes values Some devices can have performance optimized by setting different offsets for left and right channels. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
79ef0abc |
|
31-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Implement new DC servo readback mode for late WM8994 revisions Later WM8994 devices implement a new DC servo readback mode with the register used to access the offset moved to register 0x59. Implement support for this and enable it on the appropriate devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
f9925d44 |
|
27-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Disable wm_hubs periodic DC servo update This does not function correctly in all circumstances so disable the periodic updates unconditionally for stable; a future patch will reenable where appropriate. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
1479c3fb |
|
15-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Handle spurious wm_hubs DC servo done interrupts Don't assume the first fire indicates that we're done. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
d96ca3cd |
|
12-Jul-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Implement DC servo completion IRQ handling for wm_hubs devices The individual devices should set the flag dcs_done_irq in the hubs shared data structure to indicate that they will flag the interrupt by calling wm_hubs_dcs_done(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
b70a51ba |
|
29-Jun-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Use late enable handling for direct voice, speaker and headphone This ensures appropriate clocking for bypass paths to speaker and headphone and direct voice paths on affected revisions. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
d5b040c9 |
|
07-Jun-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Correct left/right swap in wm_hubs DC offset correction It was consistently wrong for everything except WM8993 so should be no functional change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.comm>
|
#
780b75b4 |
|
07-Jun-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Allow suppression of series updates on wm_hubs devices Some devices do not support manual updates of the DC servo. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
f9acf9fe |
|
07-Jun-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Trigger wm_hubs series update startup off a separate flag Allowing the two to be used independently. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
ea02c63d |
|
27-May-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Fix wm_hubs input PGA ZC bits Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
|
#
fb5af53d |
|
15-May-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Add some missing volume update bit sets for wm_hubs devices Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
|
#
d0b48af6 |
|
14-May-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Ensure output PGA is enabled for line outputs in wm_hubs Also fix a left/right typo while we're at it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com. Cc: stable@kernel.org
|
#
39cca168 |
|
08-Apr-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Fix output PGA enabling in wm_hubs CODECs The output PGA was not being powered up in headphone and speaker paths, removing the ability to offer volume control and mute with the output PGA. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
|
#
cea2bc50 |
|
18-Feb-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Hook wm_hubs micbiases up to CLK_SYS The microphone detection functionality requires a clock to work. In any non-detection case where the MICBIAS is enabled CLK_SYS will be needed anyway so there is no negative impact on power consumption. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
4baafdd7 |
|
18-Feb-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Hook wm_hubs micbiases up to CLK_SYS The microphone detection functionality requires a clock to work. In any non-detection case where the MICBIAS is enabled CLK_SYS will be needed anyway so there is no negative impact on power consumption. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
5a9f91ca |
|
17-Feb-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Log wm_hubs DC servo operation code when reporting a timeout Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
20a4e7fc |
|
20-Jan-2011 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Handle low measured DC offsets for wm_hubs devices The DC servo codes are actually signed numbers so need to be treated as such. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
|
#
ed8cc471 |
|
05-Dec-2010 |
Uk Kim <w0806.kim@samsung.com> |
ASoC: Fix swap of left and right channels for WM8993/4 speaker boost gain SPKOUTL_BOOST start from third bit, SPKOUTLR_BOOST start from 0 bit. Signed-off-by: Uk Kim <w0806.kim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
|
#
11cef5f0 |
|
26-Nov-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Use DC servo startup mode when not doing DCS correction 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 <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
505fb824 |
|
21-Nov-2010 |
Jarkko Nikula <jhnikula@gmail.com> |
ASoC: Do not include soc-dapm.h There is no need to include soc-dapm.h since soc.h includes it. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
ef995e3a |
|
15-Nov-2010 |
Joe Perches <joe@perches.com> |
ASoC: Remove unnecessary semicolons Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
ce6120cc |
|
05-Nov-2010 |
Liam Girdwood <lrg@slimlogic.co.uk> |
ASoC: Decouple DAPM from CODECs 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 <lrg@slimlogic.co.uk> with some minor core changes, codecs and machine driver conversions from Jarkko Nikula <jhnikula@gmail.com>. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Manuel Lauss <manuel.lauss@googlemail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Cc: Cliff Cai <cliff.cai@analog.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Ryan Mallon <ryan@bluewatersys.com> Cc: Timur Tabi <timur@freescale.com> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org> Cc: Wan ZongShun <mcuos.com@gmail.com> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Jassi Brar <jassi.brar@samsung.com> Cc: Daniel Gloeckner <dg@emlix.com> Cc: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
5a0b0743 |
|
30-Oct-2010 |
Joe Perches <joe@perches.com> |
ASoC: Update WARN uses in wm_hubs Add missing newlines. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
fec6dd83 |
|
27-Oct-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Store DC offset correction for wm_hubs devices in class W mode 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 <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
395e4b73 |
|
10-May-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Explicitly disable DC servo on WM hubs headphone powerdown Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
6adb26bd |
|
10-May-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Reorder power down sequence for WM hubs devices Disable the output stage prior to the delay stage rather than the other way around. Fixes merge issue with previous headphone output path corrections. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
3254d285 |
|
10-May-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Add additional WM hubs DC servo trace Log the values we're getting back from the DC servo and the values we write to it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
b2c812e2 |
|
14-Apr-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Add indirection for CODEC private data One of the features of the multi CODEC work is that it embeds a struct device in the CODEC to provide diagnostics via a sysfs class rather than via the device tree, at which point it's much better to use the struct device private data rather than having two places to store it. Provide an accessor function to allow this change to be made more easily, and update all the CODEC drivers are updated. To ensure use of the accessor the private data structure member is renamed, meaning that if code developed with older an older core that still uses private_data is merged it will fail to build. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
4dcc93d0 |
|
29-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices The DCS_DATAPATH_BUSY bit used to monitor the completion of DC servo operations has been deprecated and with some more recente revisions may perform incorrectly, especially when only analogue bypass paths are in use. Switch to using readback from the DC servo command register instead, which is supported for all devices. Without this unacceptably long timeouts may be observed in some circumstances. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
ae9d8607 |
|
29-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction If we need to offset correct the DC servo then don't use runtime recalibration since that is likely to introduce further offsets which will be evident on powerdown. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
8437f700 |
|
29-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Support second DC servo readback method for wm_hubs More recent Wolfson hubs devices add the ability to read back the DC servo calibration information from the register used to write offsets, and later still ones remove the old readback registers. Add support for the new scheme, and use it for WM8994 device revisions that support it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
3fa49e3a |
|
29-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Avoid wraparound in wm_hubs DC servo correction If the correction wraps around then a substantial offset would be introduced. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
6937c947 |
|
17-Mar-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Bail out of wm_hubs DC servo if calibration fails We're keeping track of the number of times we've iterated but never actually using this to bail out if the chip looks stuck. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
3ed7074c |
|
20-Jan-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Improved wm_hubs headphone handling 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 <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
821dd91e |
|
21-Jan-2010 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Use BIAS_OFF when idle for wm_hubs devices This provides a small power saving when audio is inactive. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
|
#
34825948 |
|
03-Dec-2009 |
Joonyoung Shim <jy0922.shim@samsung.com> |
ASoC: Rename controls with a / in wm_hubs This renames from a character / to : of controls. A / occurs below error messages. ASoC: Failed to create IN2RP/VXRP debugfs file ASoC: Failed to create IN2LP/VXRN debugfs file Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
aa983d9d |
|
30-Sep-2009 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Factor out analogue platform data from WM8993 This is also shared with newer CODECs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
2eff31e8 |
|
02-Sep-2009 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Fully specify DC servo bits to update in wm_hubs Avoids potential issues if we read back unexpected values during a read/modify/write cycle. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
c6ea2af7 |
|
24-Aug-2009 |
Takashi Iwai <tiwai@suse.de> |
ASoC: Remove unneeded inclusion of linux/regulator/consumer.h Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d1a5e44b |
|
18-Aug-2009 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.c These need to be in the CODEC since the DAIs supported by the CODECs aren't static. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
#
a2342ae3 |
|
29-Jul-2009 |
Mark Brown <broonie@opensource.wolfsonmicro.com> |
ASoC: Factor out shared code from WM8993 The WM8993 analogue control is shared with other devices in the same product line. Since this is a very substantial proportion of the driver move the definitions of these controls into a new wm_hubs module which allows them to be shared between the two. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|