aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-05-21ASoC: qdsp6: qdafe: Add SLIMBus port SupportSrinivas Kandagatla2-0/+143
This patch adds support to 6 SLIMBus AFE ports, which are used as backend dais. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-21ASoC: qdsp6: q6afe: Add q6afe driverSrinivas Kandagatla4-0/+589
This patch adds support to Q6AFE (Audio Front End) module on Q6DSP. AFE module sits right at the other end of cpu where the codec/audio devices are connected. AFE provides abstraced interfaces to both hardware and virtual devices. Each AFE tx/rx port can be configured to connect to one of the hardware devices like codec, hdmi, slimbus, i2s and so on. AFE services include starting, stopping, and if needed, any configurations of the ports. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-21ASoC: core: fix return code in error messageDaniel Mack1-1/+1
Log the correct error code in case the .open() call to a component fails. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-21ASoC: fsl: Mark 'big-endian' property as optionalFabio Estevam4-7/+15
Currently the 'big-endian' property is listed as required, which is not correct. i.MX SoCs do not need such property, so move it under 'Optional properties' entry instead. Also, fsl-sai.txt incorrectly referenced 'FTM_PWM registers', so change it to 'SAI registers', which is the intended description. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-21ASoC: intel: skylake: fix spelling mistake: "Homogenous" -> "Homogeneous"Colin Ian King1-2/+2
Trivial fix to spelling mistake in snprintf literal string Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-18ASoC: pcm512x: Add ACPI supportPierre-Louis Bossart1-1/+16
HID is assumed to be made of TI PCI ID (0x104C) + part number, so all four 104C5121, 104C5122, 104C5141 104C5142 are valid. Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-18ASoC: rt5677: Convert I2C driver to ->probe_new()Andy Shevchenko1-11/+2
There is no platform code that uses i2c module table. Remove it altogether and adjust ->probe() to be ->probe_new(). Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-18ASoC: ssm2305: fix header layoutMarco Felsch1-5/+5
Make C-header and SPDX-License-Identifier header uniform. Signed-off-by: Marco Felsch <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-18ASoC: wm2200,wm5100: fix spelling mistake: "Coefficeints" -> "Coefficients"Colin Ian King2-6/+6
Trivial fix to spelling mistakes in SND_SOC_BYTES literal strings Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-18ASoC: wm8904: fix spelling mistake: "Caputure" -> "Capture"Colin Ian King1-1/+1
Trivial fix to spelling mistake in SOC_ENUM literal string Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17soc: qcom: apr: fix invalid msg_type checkSrinivas Kandagatla1-1/+1
Removed invalid msg_type check. This also fixes below static checker warning: apr.c:95:35: warning: comparison is always true due to limited range of data type [-Wtype-limits] warn: always true condition '(msg_type != 69864) => (0-u16max != 69864)' Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: rt5670: improve PLL function's stabilityBard Liao1-1/+1
Set PR-38 register to 0x1fe1 will make PLL function more stable. Signed-off-by: Bard Liao <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: ssm2305: Add amplifier driverMarco Felsch4-0/+127
The ssm2305 is a simple Class-D audio amplifier. A application can turn on/off the device by a gpio. It's also possible to hardwire the shutdown pin. Tested on a i.MX6 based custom board. Signed-off-by: Marco Felsch <[email protected]> Reviewed-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: qdsp6: q6core: Add q6core driverSrinivas Kandagatla4-0/+400
This patch adds support to core apr service, which is used to query status of other static and dynamic services on the dsp. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Acked-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: zte: remove duplicate includesPravin Shedge1-3/+0
These duplicate includes have been found with scripts/checkincludes.pl but they have been removed manually to avoid removing false positives. Signed-off-by: Pravin Shedge <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: davinci-mcasp: Only disable inactive serializerVishal Thanki1-1/+1
As a side effect of the following commit, the active TX serializer may get disabled which may result in distorted audio output. ASoC: davinci-mcasp: Add support for multichannel playback (2952b27e2e463b28d5c0f04000f96b968137ca42) For example, if a 4 channel I2S playback with two TX serializers is activated. Later on, if a recording of 2 channels, with only 1 RX serializer is started, which will also disable one of the TX serializer because max_active_serializers is only calculated for RX (recording) stream. This patch fixes this issue. Signed-off-by: Vishal Thanki <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Set card long_name based on quirksHans de Goede1-0/+9
Many X86 devices using a BYT SoC + RT5640 codec are cheap devices with generic DMI strings, causing snd_soc_set_dmi_name() to fail to set a long_name, making it impossible for userspace to have a correct UCM profile which only uses inputs / outputs which are actually hooked up on the device. Our quirks already specify which input the internal mic is connected to and if a single (mono) speaker is used or if the device has stereo speakers. This commit sets a long_name based on the quirks so that userspace can have UCM profiles doing the right thing based on the long_name. Note that if we ever encounter the need for a special UCM profile for some device we can add a quirk to set a specific long_name for the device, Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Add quirks for various devicesHans de Goede1-0/+141
Even with our recently tweaked defaults, quite a few bytcr_rt5640 devices still need quirks to be fully functional. This commits adds quirks where necessary for the 16 bytcr_rt5640 devices I have access to. The quirks are added for the following reasons: 1) Devices with only one speaker need the mono quirk to avoid driving an unused and potentially short-circuited output. 8 of my sample of 16 devs are mono, 4 of these would work with the defaults if it were not for their mono speaker. 2) Devices using a different input for the internal mic then the default, this is the case for 6 of my sample of 16 devices. 3) BYTCR devices without an ACPI channel map, which do not work with the default of SSP0-AIF2, this is the case for 2 of my sample of 16 devices. 4) Devices which need non-default jack-detect settings, this is the case for 6 of my sample of 16 devices. This commit add quirks for the following devices: Acer Iconia Tab 8 W1-810 Chuwi Vi8 HP Pavilion X2 10-n000nd HP Stream 7 I.T. Works TW891 Lamina I8270 MSI S100 Pipo W4 PoV-mobii-800w (v2.0) PoV-mobii-800w (v2.1) Toshiba Click Mini L9W-B Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Use dmi_first_match() for DMI quirk handlingHans de Goede1-15/+4
Use dmi_first_match() instead of dmi_check_system() + callbacks, this avoid the need to initialize dmi_system_id.callback for each byt_rt5640_quirk_table entry. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Sort DMI quirk list alphabeticallyHans de Goede1-20/+21
As we add more quirks it is useful to have some sort of order in the quirk list, sort it alphabetically. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Add default jack-detect settingsHans de Goede1-1/+7
Out of the 11 BYTCR devices which I have access to for testing, 6 use JD1IN4P for jack-detect, 2 use JD1IN4P non-inverted and the other 3 use JD2IN4N, the ones not using JD1IN4P are all also special in other ways and need a DMI quirk regardless. All 5 BYT (non CR) devices which I have access to use JD2IN4N. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Unify BYTCR input defaultsHans de Goede1-3/+6
Currently we've 2 places with BYTCR defaults: 1. The generic catch-all DMI_SYS_VENDOR=="Insyde" DMI quirk which selects SSP0-AIF1 for generic Insyde BYTCR tablets without the ACPI channel package; and 2. the defaults in the if (is_bytcr) {} code block. Currently these are not identical, both select IN3 as the internal mic output, but the "Insyde" DMI quirk leaves out the DIFF_MIC quirk. The DIFF_MIC quirk should be enabled by default, because enabling diff. input helps a lot for devices with a differential mic, where as it is a nop on devices with a normal mic. This commit adds the DIFF_MIC quirk to the "Insyde" DMI quirk path, by adding a new BYTCR_INPUT_DEFAULTS define and using that in both code paths which set BYTCR defaults. Having a single place where the BYTCR input defaults are defined also allows defining jack-detect defaults in a single place in a follow-up commit. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Change BYTCR default input to IN3Hans de Goede1-1/+1
Out of the 11 BYTCR devices which I have access to for testing, 7 use IN3 for the internal mic and only 1 uses IN1 for the internal mic, the other 3 use DMIC1. So IN3 clearly is a better default, using IN3 as default avoids the need to add DMI quirks for some of these devices. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Enable jack detectionHans de Goede1-16/+148
Add code to support setting jack-detect parameters through quirks and extend the existing DMI quirk table entries for the Asus T100TA and the Dell Venue 8 Pro 5830 to enable jack detection. Tested-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Fix Dell Venue 8 5830 Pro quirkHans de Goede1-2/+3
This fixes the following 3 issues: 1) The sys_vendor match should be for "Dell Inc." not "DellInc.", without this fixed the quirk never gets applied 2) DMIC1 is used not DMIC2, this was not a problem sofar because for regular BYT boards (rather then BYTCR) we default to DMIC1 and because of 1. the quirk was not being applied 3) The Dell Venue 8 5830 Pro only has a single speaker Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: Intel: bytcr_rt5640: Use device properties for setting up dmicHans de Goede1-28/+14
Use device-properties for setting up the dmic, based on the BYT_RT5640_MAP() value, instead of using the codec specific rt5640_dmic_enable() function for this. This also removes the need for the BYT_RT5640_DMIC_EN quirk, which was always set together with a MAP() quirk of DMIC1_MAP or DMIC2_MAP. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: rt5663: rt5663_set_jack_detect() can be statickbuild test robot1-1/+1
Fixes: 9958e8afbcad ("ASoC: rt5663: Use the set_jack() instead of the export function") Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: rt5663: Use the set_jack() instead of the export functionOder Chiou4-7/+5
The patch replaces the export function with the new API set_jack(). Signed-off-by: Oder Chiou <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: omap: sdma-pcm: Correction for the include filesPeter Ujfalusi1-1/+2
The sdma-pcm does not need any information from omap-dma.h, it only needs to include the omap-dmaengine.h - for the omap_dma_filter_fn, but that might not be needed at all as OMAP1 was converted to dma_slave_map, but I can not test OMAP1. Add the linux/device.h include as well for devm_kzalloc() Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-17ASoC: omap: sdma-pcm: Fix modpost warningPeter Ujfalusi1-0/+5
WARNING: modpost: missing MODULE_LICENSE() in sound/soc/omap/snd-soc-sdma.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in sound/soc/omap/snd-soc-sdma.o see include/linux/module.h for more information Add the missing MODULE_LICENSE. This patch also going to solve: snd_soc_sdma: Unknown symbol devm_kmalloc (err 0) snd_soc_sdma: Unknown symbol omap_dma_filter_fn (err 0) snd_soc_sdma: Unknown symbol snd_dmaengine_pcm_prepare_slave_config (err 0) snd_soc_sdma: Unknown symbol devm_snd_dmaengine_pcm_register (err 0) Reported-by: Tony Lindgren <[email protected]> Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-13ASoC: Intel: bytcr_rt5640: Fix compile errorHans de Goede1-2/+2
Fix the compile error introduced by: "ASoC: Intel: bytcr_rt5640: Configure PLL1 before using it". Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-13ASoC: hisilicon: fix spelling mistake: "uknown" -> "unknown"Colin Ian King1-1/+1
Trivial fix to spelling mistake in dev_err message text Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: compress: Fix up some trivial formatting issuesCharles Keepax1-15/+13
Signed-off-by: Charles Keepax <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: compress: Only assign compr->ops->copy onceCharles Keepax1-0/+1
There are only one set of ops on the compressed stream so no need to reassign the copy callback repeatedly, stop after copy is seen to be necessary. Signed-off-by: Charles Keepax <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: qdsp6: q6common: Add qdsp6 helper functionsSrinivas Kandagatla6-0/+158
This patch adds some common helper functions like translating dsp error to linux error codes and channel mappings etc. These functions are used in all the following qdsp6 drivers. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: qdsp6: dt-bindings: Add q6asm dt bindingsSrinivas Kandagatla2-0/+55
This patch add DT bindings for ASM (Audio Stream Manager) DSP module. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: qdsp6: dt-bindings: Add q6adm dt bindingsSrinivas Kandagatla1-0/+33
This patch add DT bindings for ADM (Audio Device Manager) DSP module. This module implements mixer controls to setup the connections between AFE ports and ASM streams. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: qdsp6: dt-bindings: Add q6afe dt bindingsSrinivas Kandagatla2-0/+135
This patch add DT bindings for AFE (Audio Frontend) DSP module. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: qdsp6: dt-bindings: Add q6core dt bindingsSrinivas Kandagatla1-0/+21
This patch add DT bindings for Q6CORE DSP module. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11soc: qcom: Add APR bus driverSrinivas Kandagatla5-0/+527
This patch adds support to APR bus (Asynchronous Packet Router) driver. APR driver is made as a bus driver so that the apr devices can added removed more dynamically depending on the state of the services on the dsp. APR is used for communication between application processor and QDSP to use services on QDSP like Audio and others. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-and-tested-by: Rohit kumar <[email protected]> Acked-by: Andy Gross <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11soc: qcom dt-bindings: Add APR bus bindingsSrinivas Kandagatla2-0/+112
This patch add dt bindings for Qualcomm APR (Asynchronous Packet Router) bus driver. This bus is used for communicating with DSP which provides audio and various other services to cpu. Signed-off-by: Srinivas Kandagatla <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> Reviewed-by: Banajit Goswami <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: amd: removed separate byte count variables for playback and captureVijendar Mukunda2-16/+6
Removed separate byte count variables for playback and capture. Signed-off-by: Vijendar Mukunda <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: amd: added byte count register offset variables to rtdVijendar Mukunda2-21/+17
Added byte count register offset variables to audio_substream_data structure. Modified dma pointer callback. Signed-off-by: Vijendar Mukunda <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: amd: dma config parameters changesVijendar Mukunda2-60/+48
Added dma configuration parameters to rtd structure. Moved dma configuration parameters initialization to hw_params callback. Removed hard coding in prepare and trigger callbacks. Signed-off-by: Vijendar Mukunda <[email protected]> Reviewed-by: Daniel Kurtz <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: cirrus: i2s: IRQ-based stream watchdogAlexander Sverdlin2-0/+85
I2S controller on EP93xx seems to have undocumented HW issue. According to "EP93xx User’s Guide", controller can handle underflow and either transmit last sample or zeroes in such case until FIFO is filled again. In reality undeflow conditions seem to confuse internal state machine from time to time and the whole stream gets shifted by one byte (as captured by logic analyser on the I2S outputs). One could only hear noise instead of original stream and this continues until the FIFO is disabled and enabled again. Work this around by watching underflow interrupt and resetting I2S TX channel + fill FIFO with zero samples until DMA catches up again. This is a nasty workaround, but it works. Hence, Kconfig option to disable it in case of problems. Signed-off-by: Alexander Sverdlin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ARM: ep93xx: i2s: Add IRQ to platform device resourcesAlexander Sverdlin1-0/+1
According to "EP93xx User’s Guide" it's called I2SINTR and has number 60. Signed-off-by: Alexander Sverdlin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: cirrus: i2s: Stop enabling I2S2 and I2S3 FIFOsAlexander Sverdlin1-8/+4
The driver never supported more than 2 channels because of ep93xx_i2s_dma_data[] supporting only 1 DMA channel in each direction. Stop enabling two unused I2S controller FIFOs, this will simplify future interrupt support. Signed-off-by: Alexander Sverdlin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: rt5645: Add platform-data for Lenovo Ideapad Mixx 320Hans de Goede1-0/+9
The Lenovo Ideapad Mixx 320 has a digital mic connected to DMIC2 add a DMI based quirk pointing to the intel_braswell_platform_data for devices with a mic on DMIC2. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: rt5645: Add platform-data for Lenovo Ideapad Mixx 310Hans de Goede1-0/+14
The Lenovo Ideapad Mixx 310 has a differential internal analog mic, add platform-data for this. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2018-05-11ASoC: omap: Delete the obsolete omap-pcmPeter Ujfalusi4-296/+1
All DAI drivers are now using the new sdma-pcm platform driver. The omap-pcm can be removed from the tree, but we need to keep the SND_OMAP_SOC Kconfig option until the relevant defconfigs are updated to avoid regression due to missing audio. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>