summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)AuthorFilesLines
2016-04-26Merge remote-tracking branches 'asoc/fix/rt5640' and 'asoc/fix/wm8962' into ↵Mark Brown3-20/+20
asoc-linus
2016-04-26Merge remote-tracking branches 'asoc/fix/arizona', 'asoc/fix/cs35l32', ↵Mark Brown11-111/+155
'asoc/fix/hdac', 'asoc/fix/nau8825' and 'asoc/fix/rt5616' into asoc-linus
2016-04-26Merge remote-tracking branch 'asoc/fix/intel' into asoc-linusMark Brown6-29/+61
2016-04-26Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linusMark Brown1-0/+7
2016-04-15ASoC: wm5102: Free compressed IRQ in CODEC removeCharles Keepax1-0/+3
We request one of the DSP IRQs during CODEC probe, as such we should free it during CODEC remove, this patch does so. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-15ASoC: arizona: Free speaker thermal IRQs in CODEC removeCharles Keepax7-0/+25
The thermal warning IRQs for the speaker are requested in CODEC probe but never freed. This patch frees them in CODEC remove. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-12ASoC: Intel: Skylake: Fix ibs/obs calc for non-integral sampling ratesSubhransu S. Prusty1-9/+19
FW expects sampling rate rounded up to next higher integer value when calculating ibs/obs. For example for 44.1k, it should be rounded up to 45 to calculate ibs/obs. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-06ASoC: Intel: sst: fix a loop timeout in sst_hsw_stream_reset()Dan Carpenter1-1/+1
In the original code we ended the loop with tries set to -1 instead of zero. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-02ASoC: Intel: Skylake: Fix to turn OFF codec power when entering S3Subhransu S. Prusty1-2/+13
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-02ASoC: hdac_hdmi: Fix codec power state in S3 during playbackSubhransu S. Prusty1-45/+38
If the system enters S3 during a playback, codec power needs to be turned OFF during suspend and restored during resume. With this patch the AFG node is set to D3 and codec power is turned OFF during controller suspend call. During resume, the codec power is left in ON state if the playback was in progress while suspending. Also setting power state for AFG node is optimized. With this the loop with timeout is removed and codec_read is used instead. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-02ASoC: hdac_hdmi: Fix to use dev_pm ops instead soc pmSubhransu S. Prusty1-7/+4
Use dev_pm ops feature instead of soc pm as core assumes system is capable of direct complete. Register with complete callback instead of resume to synchronize with Jack notification from display driver. This ensures correct Jack notification to user space. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-29ASoC: wm8962: Correct typo when setting DSPCLK rateCharles Keepax1-1/+1
The variable dspclk holds the rate of the DSPCLK, but the variable sysclk holds an identifier for the clock. Currently if read a non-sensical value from the DSPCLK_DIV register we assign sysclk to dspclk, clearly this was intended to be sysclk_rate. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-28ASoC: nau8825: Fix jack detection across suspendBen Zhang1-55/+71
Jack plug status is rechecked at resume to handle plug/unplug in S3 when the chip has no power. Suspend/resume callbacks are moved from the i2c dev_pm_ops to snd_soc_codec_driver. soc_resume_deferred is a delayed work which may trigger nau8825_set_bias_level. The bias change races against dev_pm_ops, causing jack detection issues. soc_resume_deferred ensures bias change and snd_soc_codec_driver suspend/resume are sequenced correctly. Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-28ASoC: Intel: Skylake: Fix DSP resource de-allocationJeeja KP1-4/+5
In PRE PMD of widget handler DSP resources are allocated after the creation of DSP pipe and modules and in POST PMD DSP resources are destroyed. If there is any failure in pipe or module creation in PRE PMD, pcm trigger fails and finally POST PMD gets called and DSP resources are freed, without getting allocated. Fixes the DSP resource de-allocation by allocating the resource before creation of pipe and module in PRE PMD and in POST PMD, free the resources. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-28ASoC: Intel: Skylake: Fix for unloading module only when it is loadedJeeja KP2-5/+8
Module needs to be unloaded only when it is loaded successfully. To fix this, first correct the module state sequence and set module state to LOADED if module is loaded successfully. When unloading the module check if module state is not in UNINIT, then unload it. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-18Merge tag 'sound-4.6-rc1' of ↵Linus Torvalds119-1807/+9495
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "After a heavy storm by syzkaller in 4.5 cycle, we have relatively few changes in the core at this time while a lot of changes are found in the driver side, unsurprisingly. Below are some highlights: ALSA core: - A few more hardening in ALSA timer codes - An extension of sequencer API for advertising the card / pid - Small fixes in compress-offload and jack layers HD-audio: - Dynamic PCM assignment in HDMI/DP codec; preparation for upcoming DP-MST support - Lots of code refactoring for sharing with ASoC SKL driver - Regression fixes for Intel HDMI/DP - Fixups for CX20724 codec, Lenovo AiO USB-audio: - Add quirk_alias option to make quirk debugging easier - Fixes for possible Oops by malformed firmware Firewire: - Add support for FW-1804 in tascam driver - Improvements / changes in card registration, multi stream handling, etc for DICE - Lots of code refactoring ASoC: - Enhancements of still ongoing topology API - Lots of commits for Intel Skylake support including HDMI support - A few Intel Atom driver updates for recent devices - Lots of improvements to the Renesas drivers - Capture support for Qualcomm drivers - Support for TI DaVinci DRA7xxx devices - New machine drivers for Freescale systems with Cirrus CODECs, Mediatek systems with RT5650 CODECs - New CPU drivers for Allwinner S/PDIF controllers - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514" * tag 'sound-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (291 commits) ALSA: hda - Fix mutex deadlock at HDMI/DP hotplug ALSA: ctl: change return value in compatibility layer so that it's the same value in core implementation ALSA: mixart: silence an uninitialized variable warning ALSA: usb-audio: Add sanity checks for endpoint accesses ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk() ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk() ALSA: hda - Limit i915 HDMI binding only for HSW and later ALSA: hda - Fix unconditional GPIO toggle via automute ALSA: mixart: silence unitialized variable warnings ALSA: hda - Fixes double fault in nvhdmi_chmap_cea_alloc_validate_get_type ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41. ALSA: hda - Add new GPU codec ID 0x10de0082 to snd-hda ASoC: rsnd: add simplified module explanation ASoC: hdac_hdmi: Add broxton device ID ASoC: Intel: Bxtn: Add Broxton PCI ID ASoC: Intel: Skylake: Move Skylake dsp ops & loader ops ASoC: Intel: add dmabuffer to common sst_dsp ASoC: Intel: Skylake: Unstatify skl_dsp_enable_core ASoC: Intel: Skylake: Fix whitepsace issues ASoC: Intel: Skylake: Move module id defines ...
2016-03-18ASoC: Intel: Skylake: Fix kbuild dependencyVinod Koul1-1/+0
The Skylake driver selects SND_HDA_I915 which causes kbuild to spew warning: warning: (SND_SOC_INTEL_SKYLAKE) selects SND_HDA_I915 which has unmet direct dependencies (SOUND && !M68K && !UML && SND && DRM_I915 && SND_HDA_CORE) The SND_HDA_I915 should not be selected so drop that. Reported-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-18ASoC: dapm: Make sure we have a card when displaying component widgetsMark Brown1-0/+7
The dummy component is reused for all cards so we special case and don't bind it to any of them. This means that code like that displaying the component widgets that tries to look at the card will crash. In the future we will fix this by ensuring that the dummy component looks like other components but that is invasive and so not suitable for a fix. Instead add a special case check here. Reported-by: Harry Pan <harry.pan@intel.com> Suggested-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2016-03-18ASoC: rt5640: Correct the digital interface data selectSugar Zhang2-19/+19
this patch corrects the interface adc/dac control register definition according to datasheet. Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
2016-03-16ASoC: Intel: Skylake: remove call to pci_dev_putVinod Koul1-1/+0
The PCI bus takes pci_dev_get() and pci_dev_put() is also there. So no need for drivers to invoke these. In SKL driver we were calling pci_dev_put() only which is not right, so remove this Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16ASoC: Intel: Skylake: Call i915 exit lastVinod Koul1-3/+2
The Skylake driver uses i915 component APIs to talk to display. On remove we should free up by invoking snd_hdac_i915_exit() but that should be last thing in remove routine, so move it to last in skl_free() Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16ASoC: Intel: Skylake: Unmap the address lastVinod Koul1-3/+4
In Skylake destructor we unmap the hardware address and then free links and streams. The stream free accesses hardware to write to registers and predictably causes oops. So change the order and unmap last in destructor. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16ASoC: Intel: Skylake: Freeup properly on skl_dsp_freeVinod Koul1-0/+5
We are supposed to freeup the Code loader DMA allocation and ensure all interrupts are disabled before we disable dsp cores. So invoke these to ensure DSP shuts down properly. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16ASoC: Intel: Skylake: free codec objects on removalVinod Koul1-0/+4
On driver removal we should ask the core to remove the device objects as well, so invoke snd_hdac_ext_bus_device_remove() in remove. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16ASoC: rt5616: add I2C dependencyArnd Bergmann1-0/+1
The rt5616 codec registers itself as an i2c driver, but can be enabled even when i2c is turned off, which leads to a build error: codecs/rt5616.c:1419:1: error: data definition has no type or storage class [-Werror] module_i2c_driver(rt5616_i2c_driver); This adds an explicit Kconfig dependency, like the other codec drivers. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 288bc356a881 ("ASoC: rt5616: allow to build with CONFIG_SND_SOC_RT5616") Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-16Merge tag 'regulator-v4.6' of ↵Linus Torvalds1-8/+61
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This has been an extremely quiet release for the regulator API, aside from bugfixes and small enhancements the only thing that really stands out are the new drivers for Action Semiconductors ACT8945A, HiSilicon HI665x, and the Maxim MAX20024 and MAX77620" * tag 'regulator-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (46 commits) regulator: pwm: Add support to have multiple instance of pwm regulator regulator: pwm: Fix calculation of voltage-to-duty cycle regulator: of: Use of_property_read_u32() for reading min/max regulator: pv88060: fix incorrect clear of event register regulator: pv88090: fix incorrect clear of event register regulator: max77620: Add support to configure active-discharge regulator: core: Add support for active-discharge configuration regulator: helper: Add helper to configure active-discharge using regmap regulator: core: Add support for active-discharge configuration regulator: DT: Add DT property for active-discharge configuration regulator: act8865: Specify fixed voltage of 3.3V for ACT8600's REG9 regulator: act8865: Rename platform_data field to init_data regulator: act8865: Remove "static" from local variable ASoC: cs4271: add regulator consumer support regulator: max77620: Remove duplicate module alias regulator: max77620: Eliminate duplicate code regulator: max77620: Remove unused fields regulator: core: fix crash in error path of regulator_register regulator: core: Request GPIO before creating sysfs entries regulator: gpio: don't print error on EPROBE_DEFER ...
2016-03-15ASoC: cs35l32: avoid uninitialized variable accessArnd Bergmann1-4/+13
gcc warns about the possibilty of accessing a property read from devicetree in cs35l32_i2c_probe() when it has not been initialized because CONFIG_OF is disabled: sound/soc/codecs/cs35l32.c: In function 'cs35l32_i2c_probe': sound/soc/codecs/cs35l32.c:278:2: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized] The code is actually correct because it checks the dev->of_node variable first and we know this is NULL here when CONFIG_OF is disabled, but Russell King noticed that it's broken when we probe the device using DT, and the properties are absent. The code already has some checking for incorrect values, and I keep that checking unchanged here, but add an additional check for an error returned by the property accessor functions that now gets handled the same way as incorrect data in the properties. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-15Merge branch 'mm-pat-for-linus' of ↵Linus Torvalds3-18/+10
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull dma_*_writecombine rename from Ingo Molnar: "Rename dma_*_writecombine() to dma_*_wc() This is a tree-wide API rename, to move the dma_*() write-combining APIs closer in name to their usual API families. (The old API names are kept as compatibility wrappers to not introduce extra breakage.) The patch was Coccinelle generated" * 'mm-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc()
2016-03-14Merge tag 'asoc-v4.6' of ↵Takashi Iwai118-1806/+9494
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v4.6 The main thing in terms of the core this time around has been some additional framework work for dynamic topologies (though we *still* don't appear to have a stable ABI for the topology code, it's probably worth considering if this will ever happen...). Otherwise the work has almost all been in the drivers: - HDMI support for Sky Lake, along with other fixes and enhancements for the Intel drivers. - Lots of improvements to the Renesas drivers. - Capture support for Qualcomm drivers. - Support for TI DaVinci DRA7xxx devices. - New machine drivers for Freescale systems with Cirrus CODECs, Mediatek systems with RT5650 CODECs. - New CPU drivers for Allwinner S/PDIF controllers - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514.
2016-03-13Merge remote-tracking branches 'regulator/topic/act8865', ↵Mark Brown1-8/+61
'regulator/topic/act8945a', 'regulator/topic/axp20x' and 'regulator/topic/cs4271' into regulator-next
2016-03-13Merge remote-tracking branches 'asoc/topic/sunxi', 'asoc/topic/topology' and ↵Mark Brown5-86/+806
'asoc/topic/wm8974' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/rt5640', 'asoc/topic/rt5659', ↵Mark Brown6-33/+71
'asoc/topic/samsung' and 'asoc/topic/ssm4567' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/rcar', 'asoc/topic/rockchip', ↵Mark Brown22-709/+2488
'asoc/topic/rt298', 'asoc/topic/rt5514' and 'asoc/topic/rt5616' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/pxa' and 'asoc/topic/qcom' into ↵Mark Brown9-181/+396
asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/max98926', 'asoc/topic/mtk', ↵Mark Brown12-62/+714
'asoc/topic/mxs-saif', 'asoc/topic/nau8825' and 'asoc/topic/omap' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/fsl-sai', 'asoc/topic/fsl-ssl', ↵Mark Brown9-24/+2121
'asoc/topic/hdac' and 'asoc/topic/max9867' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/fsl-card' ↵Mark Brown5-8/+40
and 'asoc/topic/fsl-mpc5200' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/atmel', 'asoc/topic/bcm2835' and ↵Mark Brown3-231/+90
'asoc/topic/cs42xx8' into asoc-next
2016-03-13Merge remote-tracking branches 'asoc/topic/ab8500', 'asoc/topic/adau17x1', ↵Mark Brown17-144/+438
'asoc/topic/ads117x', 'asoc/topic/adsp' and 'asoc/topic/arizona' into asoc-next
2016-03-13Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-nextMark Brown1-5/+10
2016-03-13Merge remote-tracking branch 'asoc/topic/pcm3168a' into asoc-nextMark Brown1-2/+6
2016-03-13Merge remote-tracking branch 'asoc/topic/pcm179x' into asoc-nextMark Brown6-48/+186
2016-03-13Merge remote-tracking branch 'asoc/topic/pcm' into asoc-nextMark Brown1-12/+12
2016-03-13Merge remote-tracking branch 'asoc/topic/intel' into asoc-nextMark Brown26-260/+2115
2016-03-13Merge remote-tracking branch 'asoc/topic/dapm' into asoc-nextMark Brown1-2/+2
2016-03-13Merge remote-tracking branch 'asoc/topic/core' into asoc-nextMark Brown1-4/+4
2016-03-12ASoC: rsnd: add simplified module explanationKuninori Morimoto1-0/+23
Renesas sound driver user needs to read its datasheet when create DT. But it is difficult to understand, because it has many modules (SRC/CTU/MIX/DVC/SSIU/SSI/AudioDMAC/AudioDMACperiperi), and many features (Asynchronous/Synchronous mode on SRC, CTU matrix, DVC volume settings feature, Multi-SSI/TDM-SSI, etc). This patch adds simplified explanation to help setting/understanding. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-12ASoC: hdac_hdmi: Add broxton device IDJeeja KP1-0/+1
Broxton HDMI codec is similar to Skylake so add the device ID Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: GuruprasadX Pawse <guruprasadx.pawse@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-12ASoC: Intel: Bxtn: Add Broxton PCI IDSenthilnathan Veppur1-0/+7
Broxton is an Intel SoC which sports a DSP and system is quite like Skylake. So add this ID in Skylake driver Signed-off-by: Senthilnathan Veppur <senthilnathanx.veppur@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-12ASoC: Intel: Skylake: Move Skylake dsp ops & loader opsJeeja KP2-10/+64
The code loading for Skylake and other platforms is different, so add a dsp_ops and a loader_ops which can be defined for each platform. Move the dsp init, cleanup and loader ops (alloc and free dma) to these ops Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>