- 27 9月, 2016 2 次提交
-
-
由 Charles Keepax 提交于
Between when we load the DSP and when it actually starts running put the core into a lower power state where the memory is retained but nothing is clocked. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
Replace the 1ms msleep in wm_adsp2_ena with a usleep_range, as per normal guidance on delay functions. Also tighten up the delay a little as 1ms was quite generous. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 25 9月, 2016 4 次提交
-
-
由 Charles Keepax 提交于
Currently the DSP loading is split into two widgets, the preloader that is a snd_soc_dapm_dai_link widget which starts a thread to download the firmware, and the DSP itself which is a snd_soc_dapm_out_drv and synchronises the thread back in to the DAPM sequence. This allows the firmware download to be overlapped with the rest of the path bring up. The use of a snd_soc_dapm_dai_link widget requires the preloader to be part of the audio path in DAPM, really a supply widget is a better fit for the preloader. The preloader is something that needs to be done for the DSP to function, not a part of the audio path itself. This change makes the DSP preloader widget a supply widget, which as well as probably being a better fit will also make it much simpler to power up the preloader widget to trigger firmware download to the core independently of the audio path coming up. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
Currently SYSCLK is attached to every compressed DAI as this follows the pattern of attaching clocks to the chips inputs and outputs, however, it is really the DSP that requires the clock here. As firmware download can be a significant part of the path startup time for these devices occasionally it would be desirable to download the firmware in advance of the path being brought up. To help facilitate this early firmware loading this patch attaches the SYSCLK to the DSP preloader widget. This also saves us adding a new route to SYSCLK every time a new compressed DAI is created. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
As part of the work to download firmware before the audio path is brought up the DSP will be put into a low power state between downloading firmware to the core and starting it running. This will mean that the firmware ALSA controls are not accessible in the hardware during this period of time. To prepare for this change we gate access to the hardware in the ALSA control handlers on the DSP being running rather than simply booted and move the synchronisation of the control caches out of the preloader delayed work and into the main DAPM thread after the DSP will have been brought out of its low power state. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
Currently the wm_adsp driver has a flag that indicates the DSP is "running", this flag is used to gate access to the hardware. However this flag is actually set in the firmware download thread after the firmware has been downloaded, but this is before the core is actually started running, so really it currently indicates that the core has been booted and is perhaps running. This patch clearly separates out the concepts of booted (firmware is downloaded) and running (code is executing on the DSP) within the wm_adsp driver. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 9月, 2016 2 次提交
-
-
由 Charles Keepax 提交于
For best performance changing the synchroniser state whilst the FLL is running should be avoided. As this has been done fairly regularly in practice rather than hard preventing this, simply improve the FLL enable sequence and give a warning if the user changes the synchroniser state. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
In preparation for future improvements allow a base to be passed to arizona_is_enabled_fll, this will allow it to be used to check the state of the synchroniser path as well. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 23 8月, 2016 1 次提交
-
-
由 Wei Yongjun 提交于
Make sure i2c_device_id tables are NULL terminated. Signed-off-by: NWei Yongjun <weiyongjun1@huawei.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 11 8月, 2016 2 次提交
-
-
由 Charles Keepax 提交于
The two clock domains are enabled based on each input and output of the chip being connected to its respective clock domain. The ASRC however can bridge the two domains and as such can function as an input/output to either domain. The hardware also requires that both clocks are enabled before the ASRC is. Ensure these constraints by linking the ASRCs to both SYSCLK and ASYNCCLK. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
Anything that sets ret in wm2000_anc_transition will have immediately returned anyway as such we will always return an uninitialised ret at the bottom of the function. Simply replace the return with a return 0; Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 05 8月, 2016 3 次提交
-
-
由 Adam Thomson 提交于
Previously code defaulted to 32 BCLKS per WCLK which meant 24 and 32 bit DAI formats would not work properly. This patch fixes the issue by defaulting to 64 BCLKs per WCLK. Signed-off-by: NAdam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Hsu 提交于
The patch is to fix the static check error as the following. The patch commit b50455fa ("ASoC: nau8825: cross talk suppression measurement function") from Jun 7, 2016, leads to the following static checker warning: sound/soc/codecs/nau8825.c:265 nau8825_sema_acquire() warn: 'sem:&nau8825->xtalk_sem' is sometimes locked here and sometimes unlocked. The semaphone acquire function has return value, and some callers can do error handling when lock fails. Signed-off-by: NJohn Hsu <KCHSU0@nuvoton.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Hsu 提交于
In chromium, the following steps will make codec function fail. \1. plug in headphones, Play music \2. run "powerd_dbus_suspend" \3. resume from S3 After resume, the jack detection will restart and make configuration for the headset. Meanwhile, the playback prepares and starts to work. The two sequences will conflict and make wrong register configuration. Originally, the driver adds protection for the case when it finds the playback is active. But the "powerd_dbus_suspend" command will close the pcm stream before suspend. Therefore, the driver can't detect the playback after resume, and the protection not works. For the issue, the driver raises protection every time after resume. The protection will release after jack detection and configuration completes, and then the playback just will goes on. Signed-off-by: NJohn Hsu <KCHSU0@nuvoton.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 21 7月, 2016 2 次提交
-
-
由 Nicolin Chen 提交于
The TDM mode using PCM format now has two-bit right shift due to the format configuration in the driver. According to Figure 4-13 in the CS53L30 datasheet, using ASP_SCLK_INV = 0 and SHIFT_LEFT = 1 should be the correct combination to create one-bit right shift for the DSP type A format. Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Nicolin Chen 提交于
The maximum slot number of CS53L30 is 4 while it should support the situation that's less than 4 channels based on the rx_mask. So when the driver validates the last slot location, it should check the last active slot instead of always the 4th one. Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 15 7月, 2016 2 次提交
-
-
由 John Hsu 提交于
Thanks Mark and Anatol for the discussion. According to the result, the standard C will translate any non-zero value into true, or false otherwise. QUOTE: "6.3.1.2 Boolean type When any scalar value is converted to _Bool, the result is 0 if the value compares equal to 0; otherwise, the result is 1 " Thus, the "!!" idiom is removed. Signed-off-by: NJohn Hsu <KCHSU0@nuvoton.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Hsu 提交于
The original design only covers the jack insertion logic is active low. Add more condition to cover no matter the logic is active low and high. Signed-off-by: NJohn Hsu <KCHSU0@nuvoton.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 14 7月, 2016 1 次提交
-
-
由 Axel Lin 提交于
Use devm_* API to simplify the code. This patch also fixes the return value in probe error paths. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 12 7月, 2016 5 次提交
-
-
由 Arnd Bergmann 提交于
The ux500 platform hasn't used board files for a long time, and nothing defines a ab8500_codec_platform_data, so we can just remove the probing based on that and always use device tree properties directly. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NMark Brown <broonie@kernel.org> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Kalle Kankare 提交于
This controls the volume for the line out pins of SGTL5000. Signed-off-by: NFabien Lahoudere <fabien.lahoudere@collabora.co.uk> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
Like in Skylake, Kabylake also uses combo jack so add Kabylake to DMI match for combo jack configuration. Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Shreyas NC 提交于
Kabylake platform is similar to Skylake. So, add the device id. Signed-off-by: NShreyas NC <shreyas.nc@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Vinod Koul 提交于
Static checker warns: Pointer 'hlink' returned from call to function 'snd_hdac_ext_bus_get_link' at line may be NULL and will be dereferenced" So we should always check the return of snd_hdac_ext_bus_get_link() before referencing the link pointer Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 08 7月, 2016 1 次提交
-
-
由 Vinod Koul 提交于
Some CHT platforms use RT5645 codec which has entry 10EC5640 so add it. Also add DMI quirk for jack detection. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98001 [Jack detection] Suggested-by: NStephen Just <stephenjust@gmail.com> Signed-off-by: NSachin Mokashi <sachinx.mokashi@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 7月, 2016 2 次提交
-
-
由 Bard Liao 提交于
This patch add an alsa control for DAC1 digital volume control function selection. The options are: 0: Gain update immediately 1: Gain update when a zero crossing 2: Gain update when a zero crossing with a soft ramp Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
RT5645_PRIV_INDEX(0x6a) indicate the address of PR- registers. So, it should be volatile. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 04 7月, 2016 3 次提交
-
-
由 Wei Yongjun 提交于
Remove including <linux/version.h> that don't need it. Signed-off-by: NWei Yongjun <weiyj.lk@gmail.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Garlic Tseng 提交于
Add supports for 16k (wideband BT) and add a general compatible string "linux,bt-sco" Signed-off-by: NGarlic Tseng <garlic.tseng@mediatek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Garlic Tseng 提交于
Add config prompt for bt-sco codec driver Signed-off-by: NGarlic Tseng <garlic.tseng@mediatek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 01 7月, 2016 4 次提交
-
-
由 Bard Liao 提交于
reg-8a assign the tracking source for each ASRC tracker. The default value is 0x0000 which means all ASRC trackers will track LRCK1. But in most cases, we wish each ASRC tracker track the corresponding LRCK. i.e. ASRC1 tracks LRCK1, ASRC2 tracks LRCK2 and so on. So, we rewrite reg-8a as 0x0120. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
The default value of reg-2f in codec rt5650 is 0x5002, not 0x1002. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Axel Lin 提交于
Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NPaul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Axel Lin 提交于
devm_gpiod_get_optional() returns NULL when the gpio is not assigned. So the if (PTR_ERR(cs35l33->reset_gpio) == -ENOENT) test is always false. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NPaul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 6月, 2016 2 次提交
-
-
由 Sylwester Nawrocki 提交于
This patch adds driver for the MAX98504 speaker amplifier. The MAX98504 is a high efficiency mono class D amplifier that features an integrated boost converter with voltage and current sensing ADCs for Dynamic Speaker Management. This driver does not include support for the I2S DAI, as we wouldn't be able to test such code in a hardware configuration where the amplifier has only wired the analogue input. Signed-off-by: NInha Song <ideal.song@samsung.com> [k.kozlowski: rebased on 4.1] Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> [s.nawrocki: removed unused macro definitions, rewrote regulator supply related parts, rewrote regmap configuration code, added support for speaker enable and global chip enable through DAPM, rewritten as component driver, added PDM DAI definition and TDM callbacks for PDM channels configuration] Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com> -- Changes since v2: - added parsing of the VBAT brownout DT properties, - removed MAX98504_REG_SPEAKER_SOURCE_SELECT register initialization, - removed unused macro definitions. Changes since v1: - none. Changes since initial version: - added regulator supply handling, - added DAPM widges for speaker source selection, - added PDM DAI definition and TDM callbacks for setting up active PDM Tx channels and I/V sense ADC data mapping, - removed all optional DT properties, added regulator supply properties in the DT binding. Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Arnd Bergmann 提交于
The newly added cs35l33 driver produces a harmless warning when CONFIG_PM is disabled: sound/soc/codecs/cs35l33.c:908:12: error: 'cs35l33_runtime_suspend' defined but not used [-Werror=unused-function] sound/soc/codecs/cs35l33.c:868:12: error: 'cs35l33_runtime_resume' defined but not used [-Werror=unused-function] This adds __maybe_unused annotations to shut up the warning regardless of the configuration. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NPaul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 6月, 2016 2 次提交
-
-
由 Axel Lin 提交于
This is done by ASoC core now. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NPaul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Axel Lin 提交于
Current code uses devm_request_threaded_irq() so it does not need to explicitly call free_irq() in .probe error path and .remove. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Acked-by: NPaul Handrigan <Paul.Handrigan@cirrus.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 6月, 2016 2 次提交
-
-
由 Kuninori Morimoto 提交于
Current hdmi-codec driver is assuming that it will be registered from HDMI driver. Because of this assumption, each callback function has struct device pointer which is parent device (= HDMI). Then, it can use dev_get_drvdata() to get private data. OTOH, on some SoC/HDMI case, SoC has VIDEO/SOUND and HDMI IPs. This case, it needs SoC VIDEO, SoC SOUND and HDMI video, HDMI codec driver. In DesignWare HDMI IP case, SoC VIDEO (= DRM/KMS) driver tries to bind DesignWare HDMI video driver, and HDMI codec driver (= hdmi-codec). This case, above "parent device" of HDMI codec driver is DRM/KMS driver and its "device" already has private data. And, from DT and ASoC CPU/Codec/Card binding point of view, HDMI codec (= hdmi-codec) needs to have "parent device" (= DRM/KMS), otherwise, it never detect sound card. Because of these reasons, some driver can't use dev_get_drvdata() to get private data on hdmi-codec driver. This patch add new void pointer on hdmi_codec_pdata for private data, and callback function will be called with it. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 kbuild test robot 提交于
sound/soc/codecs/cs35l33.c:1301:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-