summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: soc-ac97: fix kernel-docPierre-Louis Bossart2020-07-031-0/+2
| | | | | | | | Fix W=1 warning. Add missing arguments Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200702172800.164986-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: add logic to check dmic hardware runtimeVijendar Mukunda2020-07-032-0/+31
| | | | | | | | | | | | Add logic to check DMIC hardware exists or not on the platform at runtime. Add module param for overriding DMIC hardware check at runtime. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/1593710826-1106-1-git-send-email-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: ti: j721e-evm: Fix missing unlock on error in j721e_audio_hw_params()Wei Yongjun2020-07-031-1/+1
| | | | | | | | | | | | Add the missing unlock before return from function j721e_audio_hw_params() in the error handling case. Fixes: 6748d0559059 ("ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI)") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200703030910.75047-1-weiyongjun1@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Intel: bxt-da7219-max98357a: return -EINVAL on unrecognized speaker ↵Colin Ian King2020-07-021-1/+1
| | | | | | | | | | | | | | | | amplifier Currently if the ctx->spkamp is not recognized an error message is reported but the code continues to set up the device with uninitialized variables such as the number of widgets. Fix this by returning -EINVAL for unrecognized speaker amplifier types. Fixes: e1435a1feb18 ("ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp") Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Addresses-Coverity: ("Uninitialized scalar variable") Link: https://lore.kernel.org/r/20200702114835.37889-1-colin.king@canonical.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge series "ASoC: codecs: wm/cs: fix kernel-doc and W=1 warnings" from ↵Mark Brown2020-07-026-10/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: I've been doing a lot of cleanups to get to zero warnings with W=1, here's the first batch for Cirrus/Wolfson codecs. Pierre-Louis Bossart (7): ASoC: codecs: cs4270: fix kernel-doc ASoC: codecs: cs42l42: remove always-true comparisons ASoC: codecs: wm8986: fix missing kernel-doc arguments ASoC: codecs: wm8960: fix kernel-doc ASoC: codecs: wm9713: remove spurious kernel-doc comment start ASoC: codecs: wm8994: fix kernel-doc ASoC: codecs: wm8400: add _maybe_unused as needed sound/soc/codecs/cs4270.c | 4 ++-- sound/soc/codecs/cs42l42.c | 9 +++------ sound/soc/codecs/wm8400.c | 6 +++--- sound/soc/codecs/wm8960.c | 2 +- sound/soc/codecs/wm8994.c | 4 ++++ sound/soc/codecs/wm8996.c | 3 +++ sound/soc/codecs/wm9713.c | 2 +- 7 files changed, 17 insertions(+), 13 deletions(-) base-commit: a2b782d59c57cb6f673dbb4804ffc500336d7a54 -- 2.25.1
| * ASoC: codecs: wm8994: fix kernel-docPierre-Louis Bossart2020-07-021-0/+4
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-7-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: codecs: wm9713: remove spurious kernel-doc comment startPierre-Louis Bossart2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: codecs: wm8960: fix kernel-docPierre-Louis Bossart2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: codecs: wm8986: fix missing kernel-doc argumentsPierre-Louis Bossart2020-07-021-0/+3
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: codecs: cs42l42: remove always-true comparisonsPierre-Louis Bossart2020-07-021-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix W=1 warnings: cs42l42.c: In function 'cs42l42_handle_device_data': cs42l42.c:1661:12: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1661 | if ((val >= CS42L42_BTN_DET_INIT_DBNCE_MIN) && | ^~ cs42l42.c:1679:12: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1679 | if ((val >= CS42L42_BTN_DET_EVENT_DBNCE_MIN) && | ^~ cs42l42.c:1698:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1698 | if ((thresholds[i] >= CS42L42_HS_DET_LEVEL_MIN) && | ^~ Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701181320.80848-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: codecs: cs4270: fix kernel-docPierre-Louis Bossart2020-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix W=1 warnings cs4270.c:508: warning: Function parameter or member 'component' not described in 'cs4270_probe' cs4270.c:508: warning: Excess function parameter 'pdev' description in 'cs4270_probe' cs4270.c:548: warning: Function parameter or member 'component' not described in 'cs4270_remove' cs4270.c:548: warning: Excess function parameter 'pdev' description in 'cs4270_remove' Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701181320.80848-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | Merge series "ASoC: Intel: atom: fix kernel-doc and W=1 warnings" from ↵Mark Brown2020-07-013-38/+74
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: Yet another series to fix broken kernel-doc and mark unused variables as such. Pierre-Louis Bossart (2): ASoC: Intel: atom: fix kernel-doc ASoC: Intel: atom: fix 'defined but not used' warning sound/soc/intel/atom/sst-atom-controls.c | 65 ++++++++++++++++-------- sound/soc/intel/atom/sst/sst_loader.c | 4 ++ sound/soc/intel/atom/sst/sst_stream.c | 43 +++++++++------- 3 files changed, 74 insertions(+), 38 deletions(-) base-commit: a2b782d59c57cb6f673dbb4804ffc500336d7a54 -- 2.25.1
| * | ASoC: Intel: atom: fix 'defined but not used' warningPierre-Louis Bossart2020-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix W=1 warning. The VOIP controls were not used in the mainline but in special versions of Android. Keep and use __maybe_used to make warning go away. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701183716.83314-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: Intel: atom: fix kernel-docPierre-Louis Bossart2020-07-013-37/+73
| |/ | | | | | | | | | | | | | | | | Fix W=1 warnings. The kernel-doc format was probably never supported, fix information as needed. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701183716.83314-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: SOF: sof-acpi-dev: fix 'defined but unused' warningPierre-Louis Bossart2020-07-011-3/+5
| | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701183913.83455-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker ampBrent Lu2020-07-013-8/+127
|/ | | | | | | | | | | Support MAX98390 speaker amplifier on cometlake platform. Driver now detects amplifier type in the probe function and installs corresponding controls and DAPM widgets/routes in the late_probe function. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/1593596211-28344-1-git-send-email-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge series "ASoC: ti: Add support for audio on J721e EVM" from Peter ↵Mark Brown2020-07-016-0/+1154
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ujfalusi <peter.ujfalusi@ti.com>: Hi, Changes since v3: - Fix the single clock source handling and typo Changes since v2: - DT binding: - use proper (?) patch subject for the binding docuemtn patch - drop pll4 and pll15 from DT - driver should check the rate via clk_get_parent. If it is not available (as it is not currently) then use the match_data provided rates. - add simple explanation for the clocking setup - Use descriptive names for clocks: cpb/ivi-mcasp-auxclk and cpb/ivi-codec-scki - dt_binding_check shows no errors/warnings - ASoC machine driver: - Try to read the PLL4/15 rate with clk API (parent of the two clock divider) if it is not available then use the match_data provided numbers. - Support for single PLL setup Changes since v1: - Fixed DT binding documentation errors - Rebased on ASoC head and updated the driver to compile and work This series adds support for the analog audio setup on the j721e EVM. The audio setup of the EVM is: Common Processor Board (CPB): McASP10 <-> pcm3168a Infotainment Expansion Board (IVI): McASP0 <-> 2x pcm3168a Both CPB and IVI wired in parallel serializer setup. The first patch adds the stream_name for McASP driver as it is needed in multicodec (and would be needed in DPCM) setup for proper DAPM handling. The second patch adds two DT schema, one for the cpb and one for the cpb+ivi card. Regards, Peter --- Peter Ujfalusi (3): ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture ASoC: dt-bindings: Add documentation for TI j721e EVM (CPB and IVI) ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) .../bindings/sound/ti,j721e-cpb-audio.yaml | 95 ++ .../sound/ti,j721e-cpb-ivi-audio.yaml | 150 +++ sound/soc/ti/Kconfig | 8 + sound/soc/ti/Makefile | 2 + sound/soc/ti/davinci-mcasp.c | 3 + sound/soc/ti/j721e-evm.c | 896 ++++++++++++++++++ 6 files changed, 1154 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml create mode 100644 Documentation/devicetree/bindings/sound/ti,j721e-cpb-ivi-audio.yaml create mode 100644 sound/soc/ti/j721e-evm.c -- Peter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
| * ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI)Peter Ujfalusi2020-07-013-0/+906
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The audio support on the board is using pcm3168a codec connected to McASP10 serializers in parallel setup. The pcm3168a SCKI clock is coming via the j721e AUDIO_REFCLK2 pin. In order to support 48KHz and 44.1KHz family of sampling rates the parent clock for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and PLL15 (for 44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via different HSDIVIDER. Generic card can not be used for the board as we need to switch between clock paths for different sampling rate families and also need to change the slot_width between 16 and 24 bit audio. The audio support on the Infotainment Expansion Board consists of McASP0 connected to two pcm3168a codecs with dedicated set of serializers to each. The SCKI for pcm3168a is sourced from j721e AUDIO_REFCLK0 pin. It is extending the audio support on the CPB. Due to the fact that the same PLL4/15 is used by both domains (CPB/IVI) there are cross restriction on sampling rates. The IVI side is represented as multicodec setup. PCMs available on a plain CPB (no IVI addon): hw:0,0 - cpb playback (8 channels) hw:0,1 - cpb capture (6 channels) When the IVI addon is present, additional two PCMs will be present: hw:0,2 - ivi multicodec playback (16 channels) hw:0,3 - ivi multicodec capture (12 channels) Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200630125843.11561-4-peter.ujfalusi@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: dt-bindings: Add documentation for TI j721e EVM (CPB and IVI)Peter Ujfalusi2020-07-012-0/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The audio support on the Common Processor Board board is using pcm3168a codec connected to McASP10 serializers in parallel setup. The Infotainment board plugs into the Common Processor Board, the support of the extension board is extending the CPB audio support by adding the two codecs on the expansion board. The audio support on the Infotainment Expansion Board consists of McASP0 connected to two pcm3168a codecs with dedicated set of serializers to each. The SCKI for pcm3168a is sourced from j721e AUDIO_REFCLK0 pin. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200630125843.11561-3-peter.ujfalusi@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: ti: davinci-mcasp: Specify stream_name for playback/capturePeter Ujfalusi2020-07-011-0/+3
| | | | | | | | | | | | | | | | In order to dai stream widgets to be created the stream_name must be set. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200630125843.11561-2-peter.ujfalusi@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ARM: dts: motorola-mapphone-common: remove unneeded "simple-graph-card"Kuninori Morimoto2020-07-012-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Audio Graph Card is using "audio-graph-card" prefix instead of "simple-graph-card", and moreover "widgets / routing" doesn't need it. This patch removes unsupported "simple-graph-card" prefix from motorola-mapphone-common.dtsi and vendor-prefixes.yaml. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Acked-by: Tony Lindgren <tony@atomide.com> Link: https://lore.kernel.org/r/87r1ub39hq.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: fsl_asrc: Add an option to select internal ratio modeShengjiu Wang2020-07-011-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ASRC not only supports ideal ratio mode, but also supports internal ratio mode. For internal rato mode, the rate of clock source should be divided with no remainder by sample rate, otherwise there is sound distortion. Add function fsl_asrc_select_clk() to find proper clock source for internal ratio mode, if the clock source is available then internal ratio mode will be selected. With change, the ideal ratio mode is not the only option for user. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Nicolin Chen <nicoleotsuka@gmail.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/1593525367-23221-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: Enable interrupt in dma_openAkshu Agrawal2020-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes interrupt enable condition check with which now interrupt gets enabled in dma_open. Prior to this patch it was getting enabled in runtime_resume only. Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com> Link: https://lore.kernel.org/r/20200630183754.20641-1-akshu.agrawal@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: dt-bindings: simple-card: Fix 'make dt_binding_check' warningsFabio Estevam2020-07-011-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following build warnings are seen with 'make dt_binding_check': Documentation/devicetree/bindings/sound/simple-card.example.dts:209.46-211.15: Warning (unit_address_vs_reg): /example-4/sound/simple-audio-card,cpu@0: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:213.37-215.15: Warning (unit_address_vs_reg): /example-4/sound/simple-audio-card,cpu@1: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:250.42-261.15: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@0: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:263.42-288.15: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@1: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:270.32-272.19: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@1/cpu@0: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:273.23-275.19: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@1/cpu@1: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:276.23-278.19: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@1/cpu@2: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:279.23-281.19: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@1/cpu@3: node has a unit name, but no reg or ranges property Documentation/devicetree/bindings/sound/simple-card.example.dts:290.42-303.15: Warning (unit_address_vs_reg): /example-5/sound/simple-audio-card,dai-link@2: node has a unit name, but no reg or ranges property Fix them all. Signed-off-by: Fabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/20200630223020.25546-1-festevam@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Intel: KeemBay: Fix header guardNathan Chancellor2020-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang warns: In file included from sound/soc/intel/keembay/kmb_platform.c:14: sound/soc/intel/keembay/kmb_platform.h:9:9: warning: 'KMB_PLATFORM_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard] #ifndef KMB_PLATFORM_H_ ^~~~~~~~~~~~~~~ sound/soc/intel/keembay/kmb_platform.h:10:9: note: 'KMB_PLATFORMP_H_' is defined here; did you mean 'KMB_PLATFORM_H_'? #define KMB_PLATFORMP_H_ ^~~~~~~~~~~~~~~~ KMB_PLATFORM_H_ 1 warning generated. Fix the typo so that the header guard works as intended. Fixes: c5477e966728 ("ASoC: Intel: Add KeemBay platform driver") Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Cc: Sia, Jee Heng <jee.heng.sia@intel.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; clang-built-linux@googlegroups.com; Nathan Chancellor <natechancellor@gmail.com> Link: https://github.com/ClangBuiltLinux/linux/issues/1053 To: Rojewski, Cezary <cezary.rojewski@intel.com>; Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>; Liam Girdwood <liam.r.girdwood@linux.intel.com>; Jie Yang <yang.jie@linux.intel.com>; Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200617010232.23222-1-natechancellor@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: dt-bindings: keembay-i2s: Fix reg descriptionsFabio Estevam2020-07-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | intel,keembay-i2s has two register regions: - I2S registers - I2S gen configuration Describe these regions accordingly to fix the following warning seen with 'make dt_binding_check': Documentation/devicetree/bindings/sound/intel,keembay-i2s.example.dt.yaml: example-0: i2s@20140000:reg:0: [538181632, 512, 539623588, 4] is too long Signed-off-by: Fabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/20200630224459.27174-1-festevam@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: fsl_sai: Refine regcache usage with pm runtimeShengjiu Wang2020-07-011-1/+2
|/ | | | | | | | | | | | | When there is dedicated power domain bound with device, after probing the power will be disabled, then registers are not accessible in fsl_sai_dai_probe(), so regcache only need to be enabled in end of probe() and regcache_mark_dirty should be moved to pm runtime resume callback function. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/1593412953-10897-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge branch 'for-5.8' of ↵Mark Brown2020-06-2916-98/+168
|\ | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.9
| * ASoC: rt5670: Fix dac- and adc- vol-tlv values being off by a factor of 10Hans de Goede2020-06-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The adc_vol_tlv volume-control has a range from -17.625 dB to +30 dB, not -176.25 dB to + 300 dB. This wrong scale is esp. a problem in userspace apps which translate the dB scale to a linear scale. With the logarithmic dB scale being of by a factor of 10 we loose all precision in the lower area of the range when apps translate things to a linear scale. E.g. the 0 dB default, which corresponds with a value of 47 of the 0 - 127 range for the control, would be shown as 0/100 in alsa-mixer. Since the centi-dB values used in the TLV struct cannot represent the 0.375 dB step size used by these controls, change the TLV definition for them to specify a min and max value instead of min + stepsize. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20200628155231.71089-5-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo ↵Hans de Goede2020-06-292-15/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Miix 2 10 The Lenovo Miix 2 10 has a keyboard dock with extra speakers in the dock. Rather then the ACL5672's GPIO1 pin being used as IRQ to the CPU, it is actually used to enable the amplifier for these speakers (the IRQ to the CPU comes directly from the jack-detect switch). Add a quirk for having an ext speaker-amplifier enable pin on GPIO1 and replace the Lenovo Miix 2 10's dmi_system_id table entry's wrong GPIO_DEV quirk (which needs to be renamed to GPIO1_IS_IRQ) with the new RT5670_GPIO1_IS_EXT_SPK_EN quirk, so that we enable the external speaker-amplifier as necessary. Also update the ident field for the dmi_system_id table entry, the Miix models are not Thinkpads. Fixes: 67e03ff3f32f ("ASoC: codecs: rt5670: add Thinkpad Tablet 10 quirk") Signed-off-by: Hans de Goede <hdegoede@redhat.com> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1786723 Link: https://lore.kernel.org/r/20200628155231.71089-4-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5670: Correct RT5670_LDO_SEL_MASKHans de Goede2020-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RT5670_PWR_ANLG1 register has 3 bits to select the LDO voltage, so the correct mask is 0x7 not 0x3. Because of this wrong mask we were programming the ldo bits to a setting of binary 001 (0x05 & 0x03) instead of binary 101 when moving to SND_SOC_BIAS_PREPARE. According to the datasheet 001 is a reserved value, so no idea what it did, since the driver was working fine before I guess we got lucky and it does something which is ok. Fixes: 5e8351de740d ("ASoC: add RT5670 CODEC driver") Signed-off-by: Hans de Goede <hdegoede@redhat.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200628155231.71089-3-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: Intel: cht_bsw_rt5672: Change bus format to I2S 2 channelHans de Goede2020-06-291-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default mode for SSP configuration is TDM 4 slot and so far we were using this for the bus format on cht-bsw-rt56732 boards. One board, the Lenovo Miix 2 10 uses not 1 but 2 codecs connected to SSP2. The second piggy-backed, output-only codec is inside the keyboard-dock (which has extra speakers). Unlike the main rt5672 codec, we cannot configure this codec, it is hard coded to use 2 channel 24 bit I2S. Using 4 channel TDM leads to the dock speakers codec (which listens in on the data send from the SSP to the rt5672 codec) emiting horribly distorted sound. Since we only support 2 channels anyways, there is no need for TDM on any cht-bsw-rt5672 designs. So we can simply use I2S 2ch everywhere. This commit fixes the Lenovo Miix 2 10 dock speakers issue by changing the bus format set in cht_codec_fixup() to I2S 2 channel. This change has been tested on the following devices with a rt5672 codec: Lenovo Miix 2 10 Lenovo Thinkpad 8 Lenovo Thinkpad 10 (gen 1) Signed-off-by: Hans de Goede <hdegoede@redhat.com> Cc: stable@vger.kernel.org BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1786723 Link: https://lore.kernel.org/r/20200628155231.71089-2-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qcom: Drop HAS_DMA dependency to fix link failureGeert Uytterhoeven2020-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building on allyesconfig kernel for a NO_DMA=y platform (e.g. Sun-3), CONFIG_SND_SOC_QCOM_COMMON=y, but CONFIG_SND_SOC_QDSP6_AFE=n, leading to a link failure: sound/soc/qcom/common.o: In function `qcom_snd_parse_of': common.c:(.text+0x2e2): undefined reference to `q6afe_is_rx_port' While SND_SOC_QDSP6 depends on HAS_DMA, SND_SOC_MSM8996 and SND_SOC_SDM845 don't, so the following warning is seen: WARNING: unmet direct dependencies detected for SND_SOC_QDSP6 Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && HAS_DMA [=n] Selected by [y]: - SND_SOC_MSM8996 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && CROS_EC [=y] && I2C [=y] && SOUNDWIRE [=y] Until recently, this warning was harmless (from a compile-testing point-of-view), but the new user of q6afe_is_rx_port() turned this into a hard failure. As the QDSP6 driver itself builds fine if NO_DMA=y, and it depends on QCOM_APR (which in turns depends on ARCH_QCOM || COMPILE_TEST), it is safe to increase compile testing coverage. Hence fix the link failure by dropping the HAS_DMA dependency of SND_SOC_QDSP6. Fixes: a2120089251f1fe2 ("ASoC: qcom: common: set correct directions for dailinks") Fixes: 6b1687bf76ef84cb ("ASoC: qcom: add sdm845 sound card support") Fixes: a6f933f63f2ffdb2 ("ASoC: qcom: apq8096: Add db820c machine driver") Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://lore.kernel.org/r/20200629122443.21736-1-geert@linux-m68k.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * AsoC: amd: add missing snd- module prefix to the acp3x-rn driver kernel moduleJaroslav Kysela2020-06-251-3/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz> Acked-by: Alex Deucher <alexander.deucher@amd.com> Cc: Mark Brown <broonie@kernel.org> Cc: vijendar.mukunda@amd.com Cc: Alexander.Deucher@amd.com Link: https://lore.kernel.org/r/20200625115829.791750-1-perex@perex.cz Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5682: fix the pop noise while OMTP type headset pluginShuming Fan2020-06-241-1/+8
| | | | | | | | | | | | | | | | | | To turn the headphone output switch off during jack type detection, it could avoid the pop noise when jack type switches to OMTP type. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://lore.kernel.org/r/20200623125312.27896-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enableShengjiu Wang2020-06-231-2/+12
| | | | | | | | | | | | | | | | | | | | | | Fix unchecked return value for clk_prepare_enable, add error handler in fsl_mqs_runtime_resume. Fixes: 9e28f6532c61 ("ASoC: fsl_mqs: Add MQS component driver") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/5edd68d03def367d96268f1a9a00bd528ea5aaf2.1592888591.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: fsl_mqs: Don't check clock is NULL before calling clk APIShengjiu Wang2020-06-231-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | Because clk_prepare_enable and clk_disable_unprepare should check input clock parameter is NULL or not internally, then we don't need to check them before calling the function. Fixes: 9e28f6532c61 ("ASoC: fsl_mqs: Add MQS component driver") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/743be216bd504c26e8d45d5ce4a84561b67a122b.1592888591.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rockchip: Fix a reference count leak.Qiushi Wu2020-06-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Calling pm_runtime_get_sync increments the counter even in case of failure, causing incorrect ref count if pm_runtime_put is not called in error handling paths. Call pm_runtime_put if pm_runtime_get_sync fails. Fixes: fc05a5b22253 ("ASoC: rockchip: add support for pdm controller") Signed-off-by: Qiushi Wu <wu000273@umn.edu> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20200613205158.27296-1-wu000273@umn.edu Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: amd: closing specific instance.Ravulapati Vishnu vardhan rao2020-06-181-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The steps to reproduce: Record from the internal mic : (arecord -D hw:1,2 -f dat /dev/null -V stereos) Record from the headphone mic: (arecord -D hw:1,0 -f dat /dev/null -V stereos) Kill the recording from internal mic. We can see the recording from the headphone mic is broken. This patch rectifies the issue reported. Signed-off-by: Ravulapati Vishnu vardhan rao <Vishnuvardhanrao.Ravulapati@amd.com> Link: https://lore.kernel.org/r/20200618072653.27103-1-Vishnuvardhanrao.Ravulapati@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * Merge series "ASoC: SOF: Intel: update PCI IDs" from Pierre-Louis Bossart ↵Mark Brown2020-06-174-36/+25
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <pierre-louis.bossart@linux.intel.com>: Clean-up CometLake and add missing PCI IDs. Changes for the legacy driver are sent separately. Pierre-Louis Bossart (3): ASoC: Intel: SOF: merge COMETLAKE_LP and COMETLAKE_H ASoC: SOF: Intel: add PCI ID for CometLake-S ASoC: SOF: Intel: add PCI IDs for ICL-H and TGL-H sound/hda/intel-dsp-config.c | 4 +--- sound/soc/intel/boards/Kconfig | 4 ++-- sound/soc/sof/intel/Kconfig | 29 ++++++++--------------------- sound/soc/sof/sof-pci-dev.c | 24 ++++++++++++++---------- 4 files changed, 25 insertions(+), 36 deletions(-) -- 2.20.1
| | * ASoC: SOF: Intel: add PCI IDs for ICL-H and TGL-HPierre-Louis Bossart2020-06-171-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually the DSP is not traditionally enabled on H skews but this might be used moving forward. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200617164755.18104-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| | * ASoC: SOF: Intel: add PCI ID for CometLake-SPierre-Louis Bossart2020-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mirror ID added for legacy HDaudio Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200617164755.18104-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| | * ASoC: Intel: SOF: merge COMETLAKE_LP and COMETLAKE_HPierre-Louis Bossart2020-06-174-34/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have two configurations for CometLake, and a third one coming. On other platforms, we used a single Kconfig option, so we should follow the same trend by merging the two cases in a backwards compatible way. The backwards compatibility is handled by overloading the COMETLAKE_LP kconfig as COMETLAKE. In practice we've never seen a case where COMETLAKE_H is not selected along with COMETLAKE_LP, so keeping one of the two is enough. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200617164755.18104-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: hdac_hda: fix memleak with regmap not freed on removePierre-Louis Bossart2020-06-171-6/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kmemleak throws error reports on module load/unload tests, add snd_hdac_regmap_exit() in .remove(). While we are at it, also fix the error handling flow in .probe() to use snd_hdac_regmap_exit() if needed. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20200617164144.17859-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: fsl_ssi: Fix bclk calculation for mono channelShengjiu Wang2020-06-161-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For mono channel, SSI will switch to Normal mode. In Normal mode and Network mode, the Word Length Control bits control the word length divider in clock generator, which is different with I2S Master mode (the word length is fixed to 32bit), it should be the value of params_width(hw_params). The condition "slots == 2" is not good for I2S Master mode, because for Network mode and Normal mode, the slots can also be 2. Then we need to use (ssi->i2s_net & SSI_SCR_I2S_MODE_MASK) to check if it is I2S Master mode. So we refine the formula for mono channel, otherwise there will be sound issue for S24_LE. Fixes: b0a7043d5c2c ("ASoC: fsl_ssi: Caculate bit clock rate using slot number and width") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/034eff1435ff6ce300b6c781130cefd9db22ab9a.1592276147.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Add voltage sense slot propertyDan Murphy2020-06-291-0/+3
| | | | | | | | | | | | | | | | | | | | Add a property to configure the slot for the voltage sense monitoring of the device. Vsense data will be sent to the processor via the slot defined by the property Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200626154143.20351-2-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Add voltage sense slot configurationDan Murphy2020-06-291-14/+51
| | | | | | | | | | | | | | | | | | | | | | | | Add Vsense slot configuration based on the device tree. Adding this property enables the slot programming to be moved to the tdm_set_slot callback. This in affect sets the slots for the Isense and Vsense and enabling this these modes are now based on whether these features were powered on or not. Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200626154143.20351-3-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Add right and left channel slot programmingDan Murphy2020-06-292-17/+59
| | | | | | | | | | | | | | | | | | Add programming for the tdm slots for the right and left. This also requires configuring the RX/TX offsets for the DAI format type. Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200626154143.20351-1-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Documentation: fix reference to renamed source fileRandy Dunlap2020-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sound/soc/soc-io.c was merged into sound/soc/soc-component.c, so fixup the Documentation to use the updated file name. Error: Cannot open file ../sound/soc/soc-io.c WARNING: kernel-doc '../scripts/kernel-doc -rst -enable-lineno ../sound/soc/soc-io.c' failed with return code 1 Fixes: 460b42d162e3 ("ASoC: soc-component: merge soc-io.c into soc-component.c") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/a9f59f30-8cf2-ea82-567c-1706fd64fe62@infradead.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | asoc: Update supported rate and format for dummy daiRohit kumar2020-06-291-1/+2
| | | | | | | | | | | | | | | | | | Add support for 384KHz sample rate and S24_3LE bitwidth for dummy dai. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Link: https://lore.kernel.org/r/1593265030-1451-1-git-send-email-rohitkr@codeaurora.org Signed-off-by: Mark Brown <broonie@kernel.org>