summaryrefslogtreecommitdiffstats
path: root/sound/soc/qcom (follow)
Commit message (Collapse)AuthorAgeFilesLines
* treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284Thomas Gleixner2019-06-058-74/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 and only version 2 as published by the free software foundation this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 294 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Alexios Zavras <alexios.zavras@intel.com> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190529141900.825281744@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner2019-05-212-0/+2
| | | | | | | | | | | | | | Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0-only Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ASoC: qcom: add i2c dependency for SND_SOC_SDM845Arnd Bergmann2019-03-111-1/+1
| | | | | | | | | | | | | | We must not select SND_SOC_MAX98927 unless CONFIG_I2C is also enabled: WARNING: unmet direct dependencies detected for SND_SOC_MAX98927 Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n] Selected by [y]: - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && MFD_CROS_EC [=y] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Cheng-Yi Chiang <cychiang@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: Kconfig: fix dependency for sdm845Cheng-Yi Chiang2019-02-261-1/+1
| | | | | | | | | | | | | SND_SOC_CROS_EC_CODEC depends on MFD_CROS_EC. Add that dependency to SND_SOC_SDM845 to fix unmet direct dependencies warning. Fixes: 74c6ecf4194e (ASoC: qcom: Kconfig: select dmic for sdm845) Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Reported-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: Fix of-node refcount unbalance in qcom_snd_parse_of()Takashi Iwai2019-02-201-2/+8
| | | | | | | | | | | | | | | | | | | | | | | Although qcom_snd_parse_of() tries to manage the of-node refcount, there are still a few places that lead to the unblanced refcount in the error code path. Namely, - for_each_child_of_node() needs to unreference the iterator node if aborting the loop in the middle, - cpu, codec and platform node objects have to be unreferenced at each iteration, - platform and codec node objects have to be referred before jumping to the error handling code that unreference them unconditionally. This patch tries to address these by moving the assignment of platform and codec node objects to the beginning of the loop and adding the of_node_put() calls adequately. Fixes: c25e295cd77b ("ASoC: qcom: Add support to parse common audio device nodes") Cc: Patrick Lai <plai@codeaurora.org> Cc: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()Takashi Iwai2019-02-201-5/+16
| | | | | | | | | | | | | The apq8016 driver leaves the of-node refcount at aborting from the loop of for_each_child_of_node() in the error path. Not only the iterator node of for_each_child_of_node(), the children nodes referred from it for codec and cpu have to be properly unreferenced. Fixes: bdb052e81f62 ("ASoC: qcom: add apq8016 sound card support") Cc: Patrick Lai <plai@codeaurora.org> Cc: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: Kconfig: select dmic for sdm845Cheng-Yi Chiang2019-02-181-0/+1
| | | | | | | sdm845 uses dmic on EC so it should select CROS_EC_CODEC. Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: apq8096: add slim supportSrinivas Kandagatla2019-01-281-1/+70
| | | | | Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: sdm845: Set DAI format for dmic codecCheng-Yi Chiang2019-01-161-0/+2
| | | | | | | Set codec DAI format for dmic codec in startup. Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: Kconfig: select max98927 for sdm845Cheng-Yi Chiang2019-01-151-0/+1
| | | | | | | | | Select SND_SOC_MAX98927 for SND_SOC_SDM845. Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: Fix a small memory leakDan Carpenter2019-01-031-3/+9
| | | | | | | | | We can't return directly if snd_dma_alloc_pages() fails; we first need to free prtd->audio_client and prtd. Fixes: 22930c79ac5c ("ASoC: qdsp6: q6asm-dai: Add support to compress offload") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: Fix a NULL vs IS_ERR() bugDan Carpenter2019-01-031-2/+3
| | | | | | | | | The q6asm_audio_client_alloc() doesn't return NULL, it returns error pointers. Fixes: 22930c79ac5c ("ASoC: qdsp6: q6asm-dai: Add support to compress offload") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: Off by one in of_q6asm_parse_dai_data()Dan Carpenter2019-01-031-1/+1
| | | | | | | | | | The q6asm_fe_dais[] array has MAX_SESSIONS (8) elements so the > comparison should be >= or we access one element beyond the end of the array. Fixes: 22930c79ac5c ("ASoC: qdsp6: q6asm-dai: Add support to compress offload") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: sdm845: set jack only for a specific backendRohit kumar2019-01-031-9/+22
| | | | | | | | | Headset codec is connected over PRIMARY_MI2S interface. Call set_jack for codec associated with Primary Mi2s interface. Also, set_jack to NULL when jack is freed. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6routing: add display_port_rx port routingRohit kumar2018-12-141-0/+9
| | | | | | | | | This patch add support to Display_port_rx mixers required to select path between ASM stream and AFE ports. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6afe-dai: add support to Display port RX daisRohit kumar2018-12-141-0/+22
| | | | | | | | This patch adds support of AFE DAI for Display_port_rx port. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: qdafe: add support for display_port_rxRohit kumar2018-12-141-0/+4
| | | | | | | | | This patch adds support for Display_Port_Rx port in AFE. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: Add support to compress offloadSrinivas Kandagatla2018-12-142-1/+372
| | | | | | | | | This patch adds MP3 playback support in q6asm dais, adding other codec support should be pretty trivial. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm: add support to MP3 formatSrinivas Kandagatla2018-12-141-0/+5
| | | | | | | | This patch adds support to mp3 format in ASM module. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge branch 'for-4.20' of ↵Mark Brown2018-12-135-148/+137
|\ | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-4.21 intel dep
| * ASoC: qcom: Set dai_link id to each dai_linkRohit kumar2018-11-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | Frontend dai_link id is used for closing ADM sessions. During concurrent usecase when one session is closed, it closes other ADM session associated with other usecase too. Dai_link->id should always point to Frontend dai id. Set cpu_dai id as dai_link id to fix the issue. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6afe-dai: Fix the dai widgetsSrinivas Kandagatla2018-11-061-104/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | For some reason the dapm widgets are incorrectly defined from the start, Not sure how we ended up with such thing. Fix them now! Without this fix the backend dais are always powered up even if there is no active stream. Reported-by: Jimmy Cheng-Yi Chiang <cychiang@google.com> Reported-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6asm-dai: Only add routing once.Srinivas Kandagatla2018-11-062-33/+19
| | | | | | | | | | | | | | | | | | q6asm routing gets added multiple times as part of dai probe. Move this to q6routing routes which has those widgets defined, this also fixes the issue where these are added each time at dai probe. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6afe: Fix wrong MI2S SD line maskRohit kumar2018-11-051-8/+8
| | | | | | | | | | | | | | | | SD line mask for MI2S starts from BIT 0 instead of BIT 1. Fix all bit mask for MI2S SD lines. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: add rt5663 codec selectArnd Bergmann2018-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling into the codec driver adds a dependency on that being reachable from the module: ERROR: "rt5663_sel_asrc_clk_src" [sound/soc/qcom/snd-soc-sdm845.ko] undefined! Add the corresponding select statement, as it is done in the other user (Intel). Fixes: f7485875a687 ("ASoC: sdm845: Add configuration for headset codec") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: Add configuration for headset codecCheng-Yi Chiang2018-12-071-0/+21
| | | | | | | | | | | | | | | | Set DAI format and sysclk for headset codec. Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: Add TDM configuration for speakerCheng-Yi Chiang2018-12-071-1/+68
| | | | | | | | | | | | | | | | Set TDM time slots and DAI format for speaker codec. Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qcom: sdm845: Create and setup jack in init callbackCheng-Yi Chiang2018-11-281-2/+55
| | | | | | | | | | | | | | | | | | Add a callback for init ops on dai_link to create and setup jack. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qcom: sdm845: Add board specific dapm widgetsCheng-Yi Chiang2018-11-281-0/+10
| | | | | | | | | | | | | | | | | | | | Add board specific dapm widgets so these widgets can be used in the route. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: Add support for Secondary MI2S interfaceRohit kumar2018-11-211-0/+18
| | | | | | | | | | | | | | | | | | Add support to configure bit clock for secondary MI2S TX interface. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: Update slot_width for Quaternary TDM portRohit kumar2018-11-211-4/+5
| | | | | | | | | | | | | | | | | | | | Change slot_width for quaternary TDM port to 16 and update bclk rate for TDM and MI2S interfaces accordingly. Signed-off-by: Rohit kumar <rohitkr@codeaurora.org> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qcom: clean up indentation, remove extraneous tabColin Ian King2018-11-171-1/+1
| | | | | | | | | | | | | | | | The return statement is indented too much by one level, fix this by removing the extraneous tab. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qdsp6: q6afe-dai: constify snd_soc_dai_ops structuresJulia Lawall2018-11-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | The snd_soc_dai_ops structures are only stored in the ops field of a snd_soc_dai_driver structure, so make the snd_soc_dai_ops structures const as well. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: smd845: constify snd_soc_ops structureJulia Lawall2018-11-051-1/+1
|/ | | | | | | | | | The snd_soc_ops structure can be const as it is only stored in the ops field of a snd_soc_dai_link structure and this field is const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: checking NULL vs IS_ERR()Dan Carpenter2018-10-041-2/+3
| | | | | | | | | The q6asm_audio_client_alloc() doesn't return NULL, it returns error pointers. Fixes: 2a9e92d371db ("ASoC: qdsp6: q6asm: Add q6asm dai driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: qdsp6: remove duplicated includeYueHaibing2018-09-282-2/+0
| | | | | | | | Remove duplicated includes linux/of_platform.h and linux/wait.h Signed-off-by: YueHaibing <yuehaibing@huawei.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qcom: qdsp6: remove duplicated include from q6adm.czhong jiang2018-09-211-9/+8
| | | | | | | | We include wait.h twice in q6adm.c. it is unnecessary. hence remove it. Further, order the include files as alphabet. Signed-off-by: zhong jiang <zhongjiang@huawei.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: add for_each_card_prelinks() macroKuninori Morimoto2018-09-202-8/+6
| | | | | | | | To be more readable code, this patch adds new for_each_card_prelinks() macro, and replace existing code to it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: remove duplicated include from q6asm-dai.cYueHaibing2018-09-171-1/+0
| | | | | | | | Remove duplicated include. Signed-off-by: YueHaibing <yuehaibing@huawei.com> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: q6core: Use kmemdup to replace kzalloc + memcpyzhong jiang2018-09-101-6/+2
| | | | | | | | kmemdup has implemented the function that kzalloc() + memcpy() will do. and we prefer to use the kmemdup rather than the open coded implementation. Signed-off-by: zhong jiang <zhongjiang@huawei.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: qdsp6: q6asm-dai: clean up a returnDan Carpenter2018-09-101-1/+1
| | | | | | | | | | Smatch complains that if both "psubstream" and "csubstream" are NULL then "ret" is uninitialized. That probably can't happen, but it's cleaner to just return zero anyway so let's do that. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: q6routing: initialize data correctlySrinivas Kandagatla2018-09-031-1/+3
| | | | | | | | | | | | | Some of the router data fields are left as default zeros which are valid dai ids, so initialize these to invalid value of -1. Without intializing these correctly get_session_from_id() can return incorrect session resulting in not closing the opened copp and messing up with the copp ref count. Fixes: e3a33673e845 ("ASoC: qdsp6: q6routing: Add q6routing driver") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge branch 'asoc-4.18' into asoc-4.19 wmadsp depMark Brown2018-08-083-3/+8
|\
| * ASoC: qdsp6: q6routing: off by one in routing_hw_params()Dan Carpenter2018-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | The data->port_data[] array has AFE_MAX_PORTS elements so the check should be >= instead of > or we write one element beyond the end of the array. Fixes: e3a33673e845 ("ASoC: qdsp6: q6routing: Add q6routing driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6afe-dai: fix a range check in of_q6afe_parse_dai_data()Dan Carpenter2018-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | The main thing is that the data->priv[] array has AFE_PORT_MAX elements so the > condition should be >=. But we may as well check for negative values as well just to be safe. Fixes: 24c4cbcfac09 ("ASoC: qdsp6: q6afe: Add q6afe dai driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6asm-dai: do not close port if its not openedSrinivas Kandagatla2018-07-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | asm ports are open as part of prepare, so for use cases like "aplay sample.wav" were sample.wav is not present. This would call port close eventhough port was never opened. DSP would return errors for such use cases. Avoid doing this by checking the port state. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: qdsp6: q6afe-dai: do not close port if its not openedSrinivas Kandagatla2018-07-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | afe ports are open as part of prepare, so for use cases like "aplay sample.wav" were sample.wav is not present. This would call port close eventhough port was never opened. DSP would return errors for such use cases. Avoid doing this by checking the port state. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapmSrinivas Kandagatla2018-08-061-0/+7
| | | | | | | | | | | | | | Add missing AIF_IN dapm for slim tx ports. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: qcom: remove unused header files from common.hSrinivas Kandagatla2018-08-061-1/+0
| | | | | | | | | | | | | | This patch removes unused header files from common.h. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sdm845: remove unused header filesSrinivas Kandagatla2018-08-061-2/+0
| | | | | | | | | | | | | | This patch removes unused header files from the driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>