summaryrefslogtreecommitdiffstats
path: root/sound/soc/amd/acp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: amd: acp: refactor SoundWire machine driver codeVijendar Mukunda2024-09-131-386/+154
| | | | | | | | | | Refactor Soundwire machine driver code by using common SoundWire endpoint parsing helper functions. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://patch.msgid.link/20240913090631.1834543-6-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: remove MODULE_ALIAS for sof based generic machine driverVijendar Mukunda2024-09-111-7/+0
| | | | | | | | | | As module device table added for AMD sof based generic machine driver, MODULE_ALIAS is not required. Remove MODULE_ALIAS for AMD sof based generic machine driver. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240911093554.2076872-2-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: remove MODULE_ALIAS for legacy machine driverVijendar Mukunda2024-09-111-7/+0
| | | | | | | | | As module device table added for AMD legacy machine driver, MODULE_ALIAS is not required. Remove MODULE_ALIAS for AMD legacy machine driver. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240911093554.2076872-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Switch back to struct platform_driver::remove()Uwe Kleine-König2024-09-095-5/+5
| | | | | | | | | | | | | | | After commit 0edb555a65d1 ("platform: Make platform_driver::remove() return void") .remove() is (again) the right callback to implement for platform drivers. Convert all drivers below sound/soc to use .remove(), with the eventual goal to drop struct platform_driver::remove_new(). As .remove() and .remove_new() have the same prototypes, conversion is done by just changing the structure member name in the driver initializer. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Link: https://patch.msgid.link/20240909151230.909818-2-u.kleine-koenig@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Return in-case of errorMuhammad Usama Anjum2024-09-061-1/+1
| | | | | | | | | | Return when error occurs instead of proceeding to for loop which will use val uninitialized. Fixes: f6f7d25b1103 ("ASoC: amd: acp: Add pte configuration for ACP7.0 platform") Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Link: https://patch.msgid.link/20240906103727.222749-1-usama.anjum@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add I2S TDM support for acp7.1 platformVenkata Prasad Potturu2024-09-032-0/+5
| | | | | | | | Add acp71 revision id to support i2s/tdm mode. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-13-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add i2s master clock generation support for acp7.1 platformVenkata Prasad Potturu2024-09-031-1/+10
| | | | | | | | | Add i2s master generation support for acp7.1 platform based on pci device id. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-12-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add pte configuration for ACP7.0 platformVenkata Prasad Potturu2024-09-036-18/+94
| | | | | | | | | Add page table entry configurations to support higher sample rate streams with multiple channels for ACP7.0 platforms. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-11-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add I2S TDM support for acp7.0 platformVenkata Prasad Potturu2024-09-031-0/+2
| | | | | | | | Add acp70 revision id to support I2S TDM. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-10-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Modify max channels and sample rate support for acp70 dai driverVenkata Prasad Potturu2024-09-031-18/+18
| | | | | | | | | Modify max channels and max sample rate support in the dai driver for acp7.0 platform. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-9-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Set i2s clock for acp7.0 platformVenkata Prasad Potturu2024-09-031-0/+1
| | | | | | | | Set i2s bclk and lrclk for acp7.0 platform. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-8-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add I2S master clock generation support for acp7.0 platformVenkata Prasad Potturu2024-09-031-0/+24
| | | | | | | | Add I2S master clock generation support for acp7.0 platforms. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-7-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Update pcm hardware capabilities for acp7.0 platformVenkata Prasad Potturu2024-09-031-0/+1
| | | | | | | | Update pcm hardware capabilities for acp7.0 platform. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-6-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Add I2S TDM support for acp6.3 platformVenkata Prasad Potturu2024-09-031-0/+56
| | | | | | | | | Add slots selection and 32-channels TDM support for acp6.3 platform. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-5-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Update pcm hardware capabilities for acp6.3 platformVenkata Prasad Potturu2024-09-031-5/+56
| | | | | | | | Update pcm hardware capabilities based on acp revision id. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-4-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Refactor I2S dai driverVenkata Prasad Potturu2024-09-034-84/+90
| | | | | | | | | | All I2S instances are connected to different powertile form acp6.0 onwards, refactor dai driver to support all I2S instances for all acp platforms. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-3-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: Refactor TDM slots selction based on acp revision idVenkata Prasad Potturu2024-09-031-11/+29
| | | | | | | | Refactor TDM slots selection based on acp revision id. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://patch.msgid.link/20240903113427.182997-2-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Merge up fixesMark Brown2024-08-231-0/+2
|\ | | | | | | | | Some of the fixes for the Intel bards overlap with development work that removed old boards.
| * ASoC: allow module autoloading for table board_idsHongbo Li2024-08-211-0/+2
| | | | | | | | | | | | | | | | | | Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded based on the alias from platform_device_id table. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Link: https://patch.msgid.link/20240821061955.2273782-3-lihongbo22@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Merge up fixesMark Brown2024-08-201-0/+2
|\| | | | | | | | | | | Merge branch 'for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-6.12 for some AMD work.
| * ASoC: amd: acp: fix module autoloadingYuntao Liu2024-08-151-0/+2
| | | | | | | | | | | | | | | | | | | | Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded based on the alias from platform_device_id table. Fixes: 9d8a7be88b336 ("ASoC: amd: acp: Add legacy sound card support for Chrome audio") Signed-off-by: Yuntao Liu <liuyuntao12@huawei.com> Link: https://patch.msgid.link/20240815084923.756476-1-liuyuntao12@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: add legacy driver support for ACP7.1 based platformsVijendar Mukunda2024-08-136-6/+21
| | | | | | | | | | | | | | | | | | Add acp pci driver and machine driver changes for ACP7.1 based platforms for legacy stack. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240813080850.3107409-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: Convert comma to semicolonVijendar Mukunda2024-08-131-3/+3
| | | | | | | | | | | | | | | | | | | | Replace a comma between expression statements by a semicolon. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://patch.msgid.link/20240812100429.2594745-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: add ZSC control register programming sequenceVijendar Mukunda2024-08-082-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Add ZSC Control register programming sequence for ACP D0 and D3 state transitions for ACP7.0 onwards. This will allow ACP to enter low power state when ACP enters D3 state. When ACP enters D0 State, ZSC control should be disabled. Tested-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240807085154.1987681-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: remove MODULE_ALIAS for SoundWire machine driverVijendar Mukunda2024-08-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | As module device table added for AMD SoundWire machine driver MODULE_ALIAS is not required. Remove MODULE_ALIAS for AMD SoundWire machine driver. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Suggested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20240807050846.1616725-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd/sdw_utils: add sof based soundwire generic machine driverVijendar Mukunda2024-08-014-0/+806
| | | | | | | | | | | | | | | | | | | | | | | | Add sof based Soundwire generic driver for amd platforms. Currently support added for ACP6.3 based platforms. Link: https://github.com/thesofproject/linux/pull/5068 Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://patch.msgid.link/20240801111821.18076-11-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: add soundwire machines for acp6.3 based platformVijendar Mukunda2024-08-013-0/+96
|/ | | | | | | | | | | Add Soundwire machines for acp6.3 based platform. Link: https://github.com/thesofproject/linux/pull/5068 Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://patch.msgid.link/20240801111821.18076-8-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: add pcm constraints for buffer size and period sizeVijendar Mukunda2024-06-211-0/+14
| | | | | | | | | ACP common dma driver has a buffer size and period size restriction which should be 64 byte aligned. Add pcm constraints for the same. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240617072844.871468-8-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: move i2s clock generation sequenceVijendar Mukunda2024-06-211-2/+2
| | | | | | | | | | I2S clock generation registers should be programmed before starting the I2S dma when I2S controller is programmed as clock master. Move i2s clock generation register programming sequence prior to i2s dma start. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240617072844.871468-7-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: modify conditional check for programming i2s mclkVijendar Mukunda2024-06-213-4/+7
| | | | | | | | | | | ACP provides different IO configurations(ACP PDM, I2S and SoundWire). I2S mclk should be programmed only when I2S configuration is selected and I2S controller is programmed as clock master. Modify the conditional check for programming i2s mclk. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240617072844.871468-6-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: remove unused variables from acp_resource structureVijendar Mukunda2024-06-215-10/+0
| | | | | | | | | Remove unused variables i2s_pin_cfg_offset and i2s_mode from acp_resource structure entries. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240617072844.871468-5-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: remove acp_i2s_probe functionVijendar Mukunda2024-06-211-14/+0
| | | | | | | | | | | In acp_i2s_probe(), acp_base null check is verified. As already acp_base null check will be verified in acp platform driver probe sequence, additional NULL check in acp_i2s_probe() is not needed. Remove acp_i2s_probe() function. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://patch.msgid.link/20240617072844.871468-4-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Merge up fixesMark Brown2024-06-212-13/+7
|\ | | | | | | We need some of the AMD fixes as a base for new work.
| * ASoC: amd: acp: move chip->flag variable assignmentVijendar Mukunda2024-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | chip->flag variable assignment will be skipped when acp platform device creation is skipped. In this case chip>flag value will not be set. chip->flag variable should be assigned along with other structure variables for 'chip' structure. Move chip->flag variable assignment prior to acp platform device creation. Fixes: 3a94c8ad0aae ("ASoC: amd: acp: add code for scanning acp pdm controller") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://msgid.link/r/20240617072844.871468-3-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()Vijendar Mukunda2024-06-191-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ACP supports different pin configurations for I2S IO. Checking ACP pin configuration value against specific value breaks the functionality for other I2S pin configurations. This check is no longer required in i2s dai driver probe call as i2s configuration check will be verified during acp platform device creation sequence. Remove i2s_mode check in acp_i2s_probe() function. Fixes: b24484c18b10 ("ASoC: amd: acp: ACP code generic to support newer platforms") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://msgid.link/r/20240617072844.871468-2-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: amd: acp: add a null check for chip_pdev structureVijendar Mukunda2024-06-191-4/+6
| | | | | | | | | | | | | | | | | | | | | | When acp platform device creation is skipped, chip->chip_pdev value will remain NULL. Add NULL check for chip->chip_pdev structure in snd_acp_resume() function to avoid null pointer dereference. Fixes: 088a40980efb ("ASoC: amd: acp: add pm ops support for acp pci driver") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://msgid.link/r/20240617072844.871468-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: add missing MODULE_DESCRIPTION() macrosJeff Johnson2024-06-134-0/+4
|/ | | | | | | | | | | | | | | | | With ARCH=x86, make allmodconfig && make W=1 C=1 reports: WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/renoir/snd-acp3x-rn.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/yc/snd-soc-acp6x-mach.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/acp/snd-acp-i2s.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/acp/snd-acp-pdm.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/acp/snd-acp-legacy-common.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/acp/snd-acp-pci.o WARNING: modpost: missing MODULE_DESCRIPTION() in sound/soc/amd/ps/snd-soc-ps-mach.o Add the missing invocations of the MODULE_DESCRIPTION() macro. Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com> Link: https://lore.kernel.org/r/20240612-md-sound-soc-amd-v1-1-ad1de0409c11@quicinc.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge tag 'asoc-v6.10' of ↵Takashi Iwai2024-05-132-14/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v6.10 This is a very big update, in large part due to extensive work the Intel people have been doing in their drivers though it's also been busy elsewhere. There's also a big overhaul of the DAPM documentation from Luca Ceresoli arising from the work he did putting together his recent ELC talk, and he also contributed a new tool for visualising the DAPM state. - A new tool dapm-graph for visualising the DAPM state. - Substantial fixes and clarifications for the DAPM documentation. - Very large updates throughout the Intel audio drivers. - Cleanups of accessors for driver data, module labelling, and for constification. - Modernsation and cleanup work in the Mediatek drivers. - Several fixes and features for the DaVinci I2S driver. - New drivers for several AMD and Intel platforms, Nuvoton NAU8325, Rockchip RK3308 and Texas Instruments PCM6240.
| * ASoC: amd: Use *-y instead of *-objs in MakefileTakashi Iwai2024-05-081-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | *-objs suffix is reserved rather for (user-space) host programs while usually *-y suffix is used for kernel drivers (although *-objs works for that purpose for now). Let's correct the old usages of *-objs in Makefiles. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20240507155540.24815-5-tiwai@suse.de Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: amd: Use snd_soc_substream_to_rtd() for accessing private_dataKrzysztof Kozlowski2024-05-061-1/+1
| | | | | | | | | | | | | | | | Do not open-code snd_soc_substream_to_rtd(). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240430-asoc-snd-substream-clean-v1-5-6f8a8902b479@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: amd: acp: fix for acp platform device creation failureVijendar Mukunda2024-05-034-21/+95
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ACP pin configuration varies based on acp version. ACP PCI driver should read the ACP PIN config value and based on config value, it has to create a platform device in below two conditions. 1) If ACP PDM configuration is selected from BIOS and ACP PDM controller exists. 2) If ACP I2S configuration is selected from BIOS. Other than above scenarios, ACP PCI driver should skip the platform device creation logic, i.e. ACP PCI driver probe sequence should never fail if other acp pin configuration is selected. It should skip platform device creation logic. check_acp_pdm() function was implemented for ACP6.x platforms to check ACP PDM configuration. Previously, this code was safe guarded by FLAG_AMD_LEGACY_ONLY_DMIC flag check. This implementation breaks audio use cases for Huawei Matebooks which are based on ACP3.x varaint uses I2S configuration. In current scenario, check_acp_pdm() function returns -ENODEV value which results in ACP PCI driver probe failure without creating a platform device even in case of valid ACP pin configuration. Implement check_acp_config() as a common function which invokes platform specific acp pin configuration check functions for ACP3.x, ACP6.0 & ACP6.3 & ACP7.0 variants and checks for ACP PDM controller. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218780 Fixes: 4af565de9f8c ("ASoC: amd: acp: fix for acp pdm configuration check") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20240502140340.4049021-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: fix for acp_init function error handlingVijendar Mukunda2024-03-291-1/+4
| | | | | | | | | | If acp_init() fails, acp pci driver probe should return error. Add acp_init() function return value check logic. Fixes: e61b415515d3 ("ASoC: amd: acp: refactor the acp init and de-init sequence") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20240329053815.2373979-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: amd: acp: fix for acp pdm configuration checkVijendar Mukunda2024-03-271-5/+3
| | | | | | | | | | | ACP PDM configuration has to be verified for all combinations. Remove FLAG_AMD_LEGACY_ONLY_DMIC check. Fixes: 3a94c8ad0aae ("ASoC: amd: acp: add code for scanning acp pdm controller") Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://msgid.link/r/20240327104657.3537664-2-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Intel: avs: Fixes and new platforms supportMark Brown2024-02-211-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge series from Cezary Rojewski <cezary.rojewski@intel.com>: The avs-driver continues to be utilized on more recent Intel machines. As TGL-based (cAVS 2.5) e.g.: RPL, inherit most of the functionality from previous platforms: SKL <- APL <- CNL <- ICL <- TGL rather than putting everything into a single file, the platform-specific bits are split into cnl/icl/tgl.c files instead. Makes the division clear and code easier to maintain. Layout of the patchset: First are two changes combined together address the sound-clipping problem, present when only one stream is running - specifically one CAPTURE stream. Follow up is naming-scheme adjustment for some of the existing functions what improves code incohesiveness. As existing IPC/IRQ code operates solely on cAVS 1.5 architecture, it needs no abstraction. The situation changes when newer platforms come into the picture. Thus the next two patches abstract the existing IPC/IRQ handlers so that majority of the common code can be re-used. The ICCMAX change stands out a bit - the AudioDSP firmware loading procedure differs on ICL-based platforms (and onwards) and having a separate commit makes the situation clear to the developers who are going to support the solution from LTS perspective. For that reason I decided not to merge it into the commit introducing the icl.c file.
| * ASoC: amd: acp: Fix support for a Huawei Matebook laptopMarian Postevca2024-01-291-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Previous commit that added support for Huawei MateBook D16 2021 with Ryzen 4600H (HVY-WXX9 M1010) was incomplete. To activate support for this laptop, the DMI table in acp3x-es83xx machine driver must also be updated. Fixes: b5338b1b901e ("ASoC: amd: acp: Add support for a new Huawei Matebook laptop") Signed-off-by: Marian Postevca <posteuca@mutex.one> Link: https://msgid.link/r/20240128172229.657142-1-posteuca@mutex.one Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: SOF: amd: fix SND_AMD_SOUNDWIRE_ACPI dependenciesArnd Bergmann2024-02-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The snd-amd-sdw-acpi.ko module is under CONFIG_SND_SOC_AMD_ACP_COMMON but selected from SoF, which causes build failures in some randconfig builds that enable SOF but not ACP: WARNING: unmet direct dependencies detected for SND_AMD_SOUNDWIRE_ACPI Depends on [n]: SOUND [=m] && SND [=m] && SND_SOC [=m] && SND_SOC_AMD_ACP_COMMON [=n] && ACPI [=y] Selected by [m]: - SND_SOC_SOF_AMD_SOUNDWIRE_LINK_BASELINE [=m] && SOUND [=m] && SND [=m] && SND_SOC [=m] && SND_SOC_SOF_TOPLEVEL [=y] && SND_SOC_SOF_AMD_TOPLEVEL [=m] && ACPI [=y] ERROR: modpost: "amd_sdw_scan_controller" [sound/soc/sof/amd/snd-sof-amd-acp.ko] undefined! Change the Makefile and Kconfig to allow it to get built regardless of CONFIG_SND_SOC_AMD_ACP_COMMON. Fixes: d948218424bf ("ASoC: SOF: amd: add code for invoking soundwire manager helper functions") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20240204212207.3158914-1-arnd@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | soundwire/SOF: add SoundWire Interface support forMark Brown2024-01-313-0/+71
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge series from Vijendar Mukunda <Vijendar.Mukunda@amd.com>: This patch series is to redesign existing platform device creation logic for SoundWire managers and Implement generic functions for SoundWire manager probe, start and exit sequence which are common for both Legacy (NO DSP enabled) and SOF stack, and add SoundWire Interface support for AMD SOF stack (ACP 6.3 based platform). The patch series was reviewed in https://github.com/thesofproject/linux/pull/4699
| * | ASoC/soundwire: implement generic api for scanning amd soundwire controllerVijendar Mukunda2024-01-303-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement generic function for scanning SoundWire controller. Same function will be used for legacy and sof stack for AMD platforms. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Acked-by: Vinod Koul <vkoul@kernel.org> Link: https://msgid.link/r/20240129055147.1493853-2-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: Merge up fixesMark Brown2024-01-222-2/+18
|\ \ \ | | |/ | |/| | | | To facilitate testing get our current fixes into the branch.
| * | ASoC: amd: acp: Add check for cpu dai link initializationVenkata Prasad Potturu2024-01-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add condition check for cpu dai link initialization for amplifier codec path, as same pcm id uses for both headset and speaker path for RENOIR platforms. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20240118143023.1903984-3-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>