summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-05Merge tag 'asoc-v4.16' of ↵Takashi Iwai
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.16 Quite a big update here, mostly in new device support and some big updates for older drivers too. The main core work continues to be Morimoto-san's efforts on modernising drivers to use the component layer. - Lots more updates from Morimoto-san to move more things into the component level. - Large cleanups of some of the TI CODEC drivers from Andrew F. Davis. - Even more quirks and cleanups of quirks for x86 systems. - Refactoring of the Freescale SSI driver from Nicolin Chen in preparation for some more substantive improvements which are currently in review. - New drivers for Allwinner A83T, Maxim MAX89373, SocioNext UiniPhier EVEA Tempo Semiconductor TSCS42xx and TI PCM816x, TAS5722 and TAS6424 devices.
2018-01-05Merge remote-tracking branches 'asoc/topic/wm8997' and 'asoc/topic/wm8998' ↵Mark Brown
into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/wm5110', 'asoc/topic/wm8350', ↵Mark Brown
'asoc/topic/wm8400', 'asoc/topic/wm8903' and 'asoc/topic/wm8994' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/uniphier', 'asoc/topic/utils', ↵Mark Brown
'asoc/topic/wm0010', 'asoc/topic/wm2000' and 'asoc/topic/wm5102' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/ts3a227e', 'asoc/topic/tsc42xx', ↵Mark Brown
'asoc/topic/twl4030', 'asoc/topic/twl6040' and 'asoc/topic/uda1380' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/tfa9879', ↵Mark Brown
'asoc/topic/tlv320aic31xx', 'asoc/topic/tlv320aic32x4', 'asoc/topic/tlv320aic3x' and 'asoc/topic/tlv320dac33' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/sun4i-i2s', 'asoc/topic/sunxi', ↵Mark Brown
'asoc/topic/symmetry', 'asoc/topic/tas5720' and 'asoc/topic/tas6424' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/si476x', ↵Mark Brown
'asoc/topic/simple', 'asoc/topic/spdif' and 'asoc/topic/stm32' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/rl6231', 'asoc/topic/rt5514' and ↵Mark Brown
'asoc/topic/rt5645' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/nau8824', 'asoc/topic/nau8825' ↵Mark Brown
and 'asoc/topic/nuc900' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/mc13783', 'asoc/topic/msm8916', ↵Mark Brown
'asoc/topic/mt8173', 'asoc/topic/mtk' and 'asoc/topic/nau8540' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/hisilicon', ↵Mark Brown
'asoc/topic/max98373', 'asoc/topic/max98926' and 'asoc/topic/max98927' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/fsl', 'asoc/topic/fsl-ssi', ↵Mark Brown
'asoc/topic/fsl_asrc' and 'asoc/topic/hdac_hdmi' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/dai-drv', 'asoc/topic/davinci', ↵Mark Brown
'asoc/topic/disconnect', 'asoc/topic/ep93xx' and 'asoc/topic/eukrea-tlv320' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/cs42l73', 'asoc/topic/cs47l24', ↵Mark Brown
'asoc/topic/cx20442', 'asoc/topic/da7213' and 'asoc/topic/da7218' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/cq93vc', 'asoc/topic/cs35l32', ↵Mark Brown
'asoc/topic/cs35l34', 'asoc/topic/cs42l52' and 'asoc/topic/cs42l56' into asoc-next
2018-01-05Merge remote-tracking branches 'asoc/topic/88pm860x', 'asoc/topic/amd', ↵Mark Brown
'asoc/topic/atmel' and 'asoc/topic/compress' into asoc-next
2018-01-05Merge remote-tracking branch 'asoc/topic/rcar' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/topic/qcom' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/topic/pcm512x' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/topic/pcm186x' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/topic/intel' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/topic/core' into asoc-nextMark Brown
2018-01-05Merge remote-tracking branch 'asoc/fix/mtk' into asoc-linusMark Brown
2018-01-05Merge remote-tracking branch 'asoc/fix/intel' into asoc-linusMark Brown
2018-01-05ASoC: TSCS42xx: Add support for Tempo Semiconductor's TSCS42xx audio CODECSteven Eckhoff
Currently there is no support for TSCS42xx audio CODECs. Add support for TSCS42xx audio CODECs. Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Acked-by: Philippe Ombredanne <pombredanne@nexb.com> Signed-off-by: Steven Eckhoff <steven.eckhoff.opensource@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-05ASoC: davinci-mcasp: Add rule to constrain the minimum period sizePeter Ujfalusi
The minimum period size (in frames) must be not lower than the FIFO size of McASP and in general too small period size would easily result underrun in applications as eDMA - the most common DMA servicing McASP have support for limited number of periods. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: simple-card: Pass 'reg' property in the examplesFabio Estevam
Since unit addresses are passed to simple-audio-card,dai-link a corresponding 'reg' property is needed, otherwise dtc complains (when building with W=1) in case someone copies the bindings example into a real dts file: Warning (unit_address_vs_reg): Node /sound-digital/simple-audio-card,dai-link@0 has a unit name, but no reg property Improve the example by passing the correct 'reg' properties. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: max98373: Added Amplifier DriverRyan Lee
Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: Added device tree binding for max98373 amplifierRyan Lee
Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: mediatek: update MT2701 AFE documentation to adapt mfd deviceRyder Lee
As the new MFD parent is in place, modify MT2701 AFE documentation to adapt it. Also add three core clocks in example. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: mediatek: modify MT2701 AFE driver to adapt mfd deviceRyder Lee
As the new MFD parent is in place, modify MT2701 AFE driver to adapt it. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: mediatek: add some core clocks for MT2701 AFERyder Lee
Add three core clocks for MT2701 AFE. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: rt5645: add micbias power control select.Bard Liao
We need to set a corresponding control bit before powering micbias up. Signed-off-by: Bard Liao <bardliao@realtek.com> [hdegoede@redhat.com: Remove 2 unused variable declarations] Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-04ASoC: rt5645: change micbias widget type to supply.Bard Liao
Register "micbias1" and "micbias2" to supply widgets as modern drivers do. This should not cause any (new) issues for existing users of the codec, since micbias support is broken anyways. Micbias support needs the RT5645_MICBIAS?_POW_CTRL_SEL bits in the RT5645_GEN_CTRL2 register to be updated when enabled/disabled which we currently do not do. The updating of these bits will be fixed in a follow-up commit. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: rcar: tidyup simple-card example for CPU nodeKuninori Morimoto
commit a5702e1cb3c ("ASoC: rsnd: Drop unit-addresses without reg properties") modifies simple-card multi CPU nodes. But, naming of "cpu-x" breaks probing. Let's add reg = <x>; instead of renaming node. Reported-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> CC: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: mediatek: update clock related properties of MT2701 AFERyder Lee
Add 'assigned-clocks*' properties which are used to initialize default domain sources of audio system. we could configure different sets of input clocks through DTS now. Hence driver no longer cares about that. Also we change some 'clock-names' to make them more generic so that other chips can reuse gracefully. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: skl: Fix kernel warning due to zero NHTL entryTakashi Iwai
I got the following kernel warning when loading snd-soc-skl module on Dell Latitude 7270 laptop: memremap attempted on mixed range 0x0000000000000000 size: 0x0 WARNING: CPU: 0 PID: 484 at kernel/memremap.c:98 memremap+0x8a/0x180 Call Trace: skl_nhlt_init+0x82/0xf0 [snd_soc_skl] skl_probe+0x2ee/0x7c0 [snd_soc_skl] .... It seems that the machine doesn't support the SKL DSP gives the empty NHLT entry, and it triggers the warning. For avoiding it, let do the zero check before calling memremap(). Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: mediatek: cleanup audio driver for MT2701Ryder Lee
Cleanup unused code such as 'i2s_num' guard, headers, indentation and some defines. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: mediatek: rework clock functions for MT2701Ryder Lee
Reworks clock part to make it more reasonable. The current changes are: - Replace regmap operations by CCF APIs. Doing so, we just need to handle the element clocks and can also get accurate information via CCF. - Rename clocks to make them more generic so that the future revisions of the IP can adapt gracefully. - Regroup 'aud_clks[]' by usage - the basic needs and I2S parts: The new code just keep the common clocks in array and let SoC self decide I2S numbers - If future chips have different sets of channels we will add a little more abstract here. Moreover, this patch moves I2S clocks to the struct mt2701_i2s_data so that we can easily manage them when calls .prepare() and .shutdown(). Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Tested-by: Garlic Tseng <garlic.tseng@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: change mask in snd_soc_get/put_volsw_sx to unsigned intBanajit Goswami
If the result of (min + max) is negative in functions snd_soc_get_volsw_sx() or snd_soc_put_volsw_sx(), there will be an overflow for the variable 'mask'. UBSAN: Undefined behaviour in sound/soc/soc-ops.c:382:6 signed integer overflow: -2147483648 - 1 cannot be represented in type 'int' Fix this by updating the variable type of 'mask' to unsigned int. Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: mediatek: fix error handling in mt2701_afe_pcm_dev_probe()Ryder Lee
Fix unbalanced error handling path which will get incorrect counts if probe failed. The .remove() should be adjusted accordingly. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Tested-by: Garlic Tseng <garlic.tseng@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: Intel: Skylake: Disable clock gating during firmware and library downloadPardha Saradhi K
During firmware and library download, sometimes it is observed that firmware and library download is timed-out resulting into probe failure. This patch disables dynamic clock gating while firmware and library download. Signed-off-by: Pardha Saradhi K <pardha.saradhi.kesapragada@intel.com> Signed-off-by: Sanyog Kale <sanyog.r.kale@intel.com> Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com> Acked-By: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: Intel: cht_bsw_rt5645: Analog Mic supportHans de Goede
Various Cherry Trail boards with a rt5645 codec have an analog mic connected to IN2P + IN2N. The mic on this boards also needs micbias to be enabled, on some boards micbias1 is used and on others micbias2, so we enable both. This commit adds a new "Int Analog Mic" DAPM widget for this, so that we do not end up enabling micbias on boards with a digital mic which uses the already present "Int Mic" widget. Some existing UCM files already refer to "Int Mic" for their "Internal Analog Microphones" SectionDevice, but these don't work anyways since they enable the RECMIX BST1 Switch instead of the BST2 switch. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: rt5645: add platform data for the Teclast X80 Pro tabletHans de Goede
The Teclast X80 Pro tablet needs jd_mode = 3 for headset jack detection. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: rt5645: cleanup DMI matching codeHans de Goede
Rather then doing a dmi_check_system() per possible system use an array with all known systems, with dmi_system_id.driver_data pointing to the platform-data for the matching system. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-03ASoC: rt5645: set in2_diff flag for GPD win and pocket devicesHans de Goede
The GPD pocket has a differential signal microphone and needs in2_diff to be set to avoid getting a very noisy signal. Since the GPD pocket and win use the same DMI strings, they share their platform data-definition, so enabling in2_diff on the pocket also sets it on the GPD win. The GPD win has a normal microphone, but setting in2_diff there does not negatively impact the sound from the microphone. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-02ALSA: pcm: Set config update bits only when really changedTakashi Iwai
The PCM config space refine codes touch the parameter rmask and cmask bits when the given config parameter is changed. But in most places it checks only whether the changed value is non-zero or not, and they don't consider whether a negative error value is returned. This will lead to the incorrect update bits set upon the error path. Fix the codes to check properly the return code whether it's really updated or an error. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-12-31Linux 4.15-rc6v4.15-rc6Linus Torvalds
2017-12-31Merge branch 'x86/urgent' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "A couple of fixlets for x86: - Fix the ESPFIX double fault handling for 5-level pagetables - Fix the commandline parsing for 'apic=' on 32bit systems and update documentation - Make zombie stack traces reliable - Fix kexec with stack canary - Fix the delivery mode for APICs which was missed when the x86 vector management was converted to single target delivery. Caused a regression due to the broken hardware which ignores affinity settings in lowest prio delivery mode. - Unbreak modules when AMD memory encryption is enabled - Remove an unused parameter of prepare_switch_to" * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic: Switch all APICs to Fixed delivery mode x86/apic: Update the 'apic=' description of setting APIC driver x86/apic: Avoid wrong warning when parsing 'apic=' in X86-32 case x86-32: Fix kexec with stack canary (CONFIG_CC_STACKPROTECTOR) x86: Remove unused parameter of prepare_switch_to x86/stacktrace: Make zombie stack traces reliable x86/mm: Unbreak modules that use the DMA API x86/build: Make isoimage work on Debian x86/espfix/64: Fix espfix double-fault handling on 5-level systems