aboutsummaryrefslogtreecommitdiff
path: root/sound/soc/amd
AgeCommit message (Collapse)AuthorFilesLines
2022-08-02ASoC: amd: yc: Update DMI table entries for AMD platformssyed sabakareem1-0/+28
Updated DMI entries 21EM, 21EN, 21J5 and 21J6 for AMD platforms P15v Gen 3 and P14s Gen 3. Link: https://bugzilla.kernel.org/show_bug.cgi?id=216267 Signed-off-by: syed saba kareem <Syed.SabaKareem@amd.com> Reported-by: Pananchikkal Renjith <renjith.pananchikkal@amd.com> Link: https://lore.kernel.org/r/20220802062503.159328-1-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-26ASoC: amd: acp: Fix initialization of ext_intr_stat1 in i2s_irq_handler()Nathan Chancellor1-1/+1
Clang warns: ../sound/soc/amd/acp/acp-platform.c:117:19: error: variable 'ext_intr_stat1' is uninitialized when used here [-Werror,-Wuninitialized] if (stream && (ext_intr_stat1 & stream->irq_bit)) { ^~~~~~~~~~~~~~ ../sound/soc/amd/acp/acp-platform.c:97:35: note: initialize the variable 'ext_intr_stat1' to silence this warning u32 ext_intr_stat, ext_intr_stat1, i; ^ = 0 1 error generated. The variable was not properly renamed, correct it to resolve the warning. Fixes: 93f53881473c ("ASoC: amd: acp: Modify local variables name to generic") Link: https://github.com/ClangBuiltLinux/linux/issues/1675 Signed-off-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Tom Rix <trix@redhat.com> Link: https://lore.kernel.org/r/20220725180539.1315066-1-nathan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-22ASoC: amd: yc: Update DMI table entriessyed sabakareem1-30/+2
Removed intel DMI product id's 21AW/21AX/21D8/21D9/21BN/21BQ in DMI table and updated DMI entry for AMD platform X13 Gen 3 platform 21CM/21CN. Link: https://bugzilla.kernel.org/show_bug.cgi?id=216267 Signed-off-by: syed sabakareem <Syed.SabaKareem@amd.com> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Reported-by: David Korth <gerbilsoft@gerbilsoft.com> Fixes: fa991481b8b2 ("ASoC: amd: add YC machine driver using dmic") Link: https://lore.kernel.org/r/20220722134603.316668-1-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-22ASoC: amd: vangogh: Use non-legacy DAI naming for cs35l41Cristian Ciocaltea1-2/+1
Unlike most CODEC drivers, the CS35L41 driver did not have the non_legacy_dai_naming set, meaning the corresponding DAI has been traditionally registered using the legacy naming: spi-VLV1776:0x The recent migration to the new legacy DAI naming style has implicitly corrected that behavior and DAI gets now registered via the non-legacy naming, i.e. cs35l41-pcm. The problem is the acp5x platform driver is now broken as it continues to refer to the above mentioned codec using the legacy DAI naming in function acp5x_cs35l41_hw_params() and, therefore, the related setup is not being executed anymore. Let's fix that by replacing the obsolete DAI name with the correct one. Fixes: 129f055a2144 ("ASoC: core: Switch core to new DAI naming flag") Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220722092700.8269-1-cristian.ciocaltea@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: enable RPL Platform acp drivers buildSyed Saba Kareem3-0/+16
RPL Platform drivers can be built by selecting necessary kernel config option. The patch enables build support of the same. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721061035.91139-5-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: add RPL Platform pci driver pm-opsSyed Saba Kareem2-0/+55
Add RPL Platform ACP PCI driver pm ops. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721061035.91139-4-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: add RPL Platform init/de-init functionsSyed Saba Kareem1-0/+92
Add RPL Platform ACP init/de-init functions. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721061035.91139-3-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: add ACP PCI driver for RPL platformSyed Saba Kareem2-0/+116
ACP is a PCI audio device. This patch adds PCI driver to bind to this device and get PCI resources. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721061035.91139-2-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: add RPL Platform acp header fileSyed Saba Kareem1-0/+30
Add ACP register header file for RPL platform. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721061035.91139-1-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: acp: Add error handling casesVenkata Prasad Potturu1-4/+20
Add error handling in acp pci driver probe function. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721062043.3016985-5-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: acp: Modify const resource struct variable to genericVenkata Prasad Potturu1-5/+4
Change platform specific constant resource structure variable to generic name. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721062043.3016985-4-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: acp: Drop superfluous mmap callbackVenkata Prasad Potturu1-8/+0
Remove mmap callback as ASoC AMD drivers just call the standard mmap handler. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721062043.3016985-2-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-21ASoC: amd: acp: Modify local variables name to genericVenkata Prasad Potturu1-5/+5
Change local variables name to be generic in irq handler. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220721062043.3016985-1-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-19ASoC: amd: yc: Decrease level of error messageMario Limonciello1-1/+1
On a number of platforms that contain acp3x controller a new ERR level message is showing up: `acp6x pci device not found` This is because ACP3x and ACP6x share same PCI ID but can be identified by PCI revision. As this is expected behavior for a system with ACP3x decrease message to debug. Fixes: b1630fcbfde6c ("ASoC: amd: yc: add new YC platform varaint support") Cc: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20220718213402.19497-1-mario.limonciello@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-13ASoC: amd: fix Jadeite kconfig warning and build errorsRandy Dunlap1-1/+1
Since SND_SOC_ES8316 has a hard dependency on I2C and since 'select' does not follow any dependency chains, SND_SOC_AMD_ST_ES8336_MACH also needs to have a hard dependency on I2C. Fixes a kconfig warning and subsequent build errors: WARNING: unmet direct dependencies detected for SND_SOC_ES8316 Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && I2C [=n] Selected by [y]: - SND_SOC_AMD_ST_ES8336_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_ACP [=y] && ACPI [=y] && (I2C [=n] || COMPILE_TEST [=y]) sound/soc/codecs/es8316.c:866:1: warning: data definition has no type or storage class 866 | module_i2c_driver(es8316_i2c_driver); sound/soc/codecs/es8316.c:866:1: error: type defaults to ‘int’ in declaration of ‘module_i2c_driver’ [-Werror=implicit-int] sound/soc/codecs/es8316.c:866:1: warning: parameter names (without types) in function declaration sound/soc/codecs/es8316.c:857:26: warning: ‘es8316_i2c_driver’ defined but not used [-Wunused-variable] 857 | static struct i2c_driver es8316_i2c_driver = { Fixes: f94fa8405801 ("ASoC: amd: enable machine driver build for Jadeite platform") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Cc: Mark Brown <broonie@kernel.org> Cc: alsa-devel@alsa-project.org Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Link: https://lore.kernel.org/r/20220712183348.31046-1-rdunlap@infradead.org Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-13ASoC: amd: Fix error pointer dereferenceDan Carpenter1-1/+0
The "gpio_pa" pointer is an error pointer, there is no need to try put it. Calling gpiod_put() on it will lead to an error pointer dereference. Fixes: 02527c3f2300 ("ASoC: amd: add Machine driver for Jadeite platform") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/Ys2IRPHWGIwuVs21@kili Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-11ADD legacy audio driver support for rembrandtMark Brown13-69/+866
Merge series from V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com>: Add Generic driver to support multiple platform, ADD HS control instance for Rembrandt platform. Add nau8825,max98560 and rt5682s,rt1019 combination support for legacy platform.
2022-07-08ASoC: amd: acp: Add legacy audio driver support for Rembrandt platformV sujith kumar Reddy11-6/+781
Add i2s and dmic support for Rembrandt platform, Add machine support for nau8825, max98360 and rt5682s,rt1019 codec in legacy driver for rembrandt platform. Here codec is in a slave mode. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220707161142.491034-4-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: acp: ACP code generic to support newer platformsV sujith kumar Reddy6-46/+86
ADD Generic code to support to newer platforms, add control threshold, irq control macros ,added structure for register offset differences. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220707161142.491034-3-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: acp: Remove rt1019_1 codec conf from machine driverV sujith kumar Reddy1-18/+0
Remove rt1019_1 codec configuration which has i2c-10EC1019:01 and i2c-10EC1019:02 codec components, Now Using default i2c-10EC1019:00 and i2c-10EC1019:01 codec components. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220707161142.491034-2-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: Remove duplicated include in acp-es8336.cYang Li1-1/+0
Fix following includecheck warning: ./sound/soc/amd/acp-es8336.c: linux/module.h is included more than once. Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> Link: https://lore.kernel.org/r/20220707232540.22589-1-yang.lee@linux.alibaba.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: fix for variable set but not used warningVijendar Mukunda1-0/+3
Fix below kernel warning. >>> sound/soc/amd/acp-es8336.c:200:13: warning: variable 'ret' set but >>> not used [-Wunused-but-set-variable] Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20220707132613.3150931-3-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: drop machine driver remove functionVijendar Mukunda1-6/+0
Drop machine driver remove() function. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220707132613.3150931-2-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: remove unused header file inclusionVijendar Mukunda1-1/+0
Removed unused header file inclusion from Jadeite platform machine driver. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220707132613.3150931-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-08ASoC: amd: acp-es8336: use static variablesPierre-Louis Bossart1-2/+2
Sparse warnings: sound/soc/amd/acp-es8336.c:36:15: error: symbol 'codec_dev' was not declared. Should it be static? sound/soc/amd/acp-es8336.c:37:18: error: symbol 'gpio_pa' was not declared. Should it be static? Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220707214614.61081-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-07ASoC: amd: fix ACPI dependency compile errors and warningsVijendar Mukunda1-3/+2
Fixed ACPI dependency complie errors and warnings as listed below. All warnings (new ones prefixed by >>): sound/soc/soc-acpi.c:34:1: error: redefinition of 'snd_soc_acpi_find_machine' 34 | snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from sound/soc/soc-acpi.c:9: include/sound/soc-acpi.h:38:1: note: previous definition of 'snd_soc_acpi_find_machine' with type 'struct snd_soc_acpi_mach *(struct snd_soc_acpi_mach *)' 38 | snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines) | ^~~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/soc-acpi.c: In function 'snd_soc_acpi_find_package': sound/soc/soc-acpi.c:58:36: error: implicit declaration of function 'acpi_fetch_acpi_dev'; did you mean 'device_match_acpi_dev'? [-Werror=implicit-function-declaration] 58 | struct acpi_device *adev = acpi_fetch_acpi_dev(handle); | ^~~~~~~~~~~~~~~~~~~ | device_match_acpi_dev >> sound/soc/soc-acpi.c:58:36: warning: initialization of 'struct acpi_device *' from 'int' makes pointer from integer without a cast [-Wint-conversion] sound/soc/soc-acpi.c:64:25: error: invalid use of undefined type 'struct acpi_device' 64 | if (adev && adev->status.present && adev->status.functional) { | ^~ sound/soc/soc-acpi.c:64:49: error: invalid use of undefined type 'struct acpi_device' 64 | if (adev && adev->status.present && adev->status.functional) { | ^~ sound/soc/soc-acpi.c:80:26: error: implicit declaration of function 'acpi_extract_package' [-Werror=implicit-function-declaration] 80 | status = acpi_extract_package(myobj, | ^~~~~~~~~~~~~~~~~~~~ sound/soc/soc-acpi.c: At top level: sound/soc/soc-acpi.c:95:6: error: redefinition of 'snd_soc_acpi_find_package_from_hid' 95 | bool snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN], | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from sound/soc/soc-acpi.c:9: include/sound/soc-acpi.h:44:1: note: previous definition of 'snd_soc_acpi_find_package_from_hid' with type 'bool(const u8 *, struct snd_soc_acpi_package_context *)' {aka '_Bool(const unsigned char *, struct snd_soc_acpi_package_context *)'} 44 | snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN], | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/soc-acpi.c:109:27: error: redefinition of 'snd_soc_acpi_codec_list' 109 | struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg) | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from sound/soc/soc-acpi.c:9: include/sound/soc-acpi.h:51:41: note: previous definition of 'snd_soc_acpi_codec_list' with type 'struct snd_soc_acpi_mach *(void *)' 51 | static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg) | ^~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20220706205515.2485601-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-05ASoC: amd: enable machine driver build for Jadeite platformVijendar Mukunda2-0/+15
Enable machine driver build for Jadeite platform using ES8336 Codec. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220701114107.1105948-6-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-05ASoC: amd: add Machine driver for Jadeite platformVijendar Mukunda1-0/+324
Add Machine driver for Jadeite platform which uses ES8336 codec. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220701114107.1105948-5-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-07-05ASoC: amd: add I2S MICSP instance supportVijendar Mukunda2-2/+61
Add I2S MICSP instance support for Stoney variant. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220701114107.1105948-4-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-27ASoC: amd: Migrate to new style legacy DAI naming flagCharles Keepax5-20/+25
Change the legacy DAI naming flag from opting in to the new scheme (non_legacy_dai_naming), to opting out of it (legacy_dai_naming). These drivers appear to be on the CPU side of the DAI link and currently uses the legacy naming, so add the new flag. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220623125250.2355471-19-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-22ASoC: amd: acp: Fix error handling in .remove()Uwe Kleine-König1-8/+2
Even in the presence of problems (here: rn_acp_deinit() might fail), it's important to unregister all resources acquired during .probe() because even if .remove() returns an error code, the device is removed. As .remove() is only called after .probe() returned success, platdata must be valid, so the first check in .remove() can just be dropped. This is a preparation for making platform remove callbacks return void. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20220622061739.225966-1-u.kleine-koenig@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-09Specify clock provider directly to CPU DAIsMark Brown1-2/+2
Merge series from Charles Keepax <ckeepax@opensource.cirrus.com>: Currently the set_fmt callback always passes clock provider/consumer with respect to the CODEC. This made sense when the framework was directly broken down into platforms and CODECs. However, as things are now broken down into components which can be connected as either the CPU or CODEC side of a DAI link it simplifies things if each side of the link is just told if it is provider or consumer of the clocks. Making this change allows us to remove one of the last parts of the ASoC core that needs to know if a driver is a CODEC driver, where it flips the clock format specifier if a CODEC driver is used on the CPU side of a DAI link, as well as just being conceptually more consistent with componentisation. The basic idea of this patch chain is to change the set_fmt callback from specifying if the CODEC is provider/consumer into directly specifying if the component is provider/consumer. To do this we add some new defines, and then to preserve bisectability, the migration is done by adding a new callback, converting over all existing CPU side drivers, converting the core, and then finally reverting back to the old callback. Converting the platform drivers makes sense as the existing defines are from the perspective of the CODEC and there are more CODEC drivers than platform drivers. Obviously a fair amount of this patch chain I was only able to build test, so any testing that can be done would be greatly appreciated.
2022-06-07Add Machine driver support for nau8825, max98560 and rt5682s, rt1019Mark Brown6-16/+282
Merge series from V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com>: Add support for some new AMD machines.
2022-06-06ASoC: amd: acp: fix typo in commentJulia Lawall1-1/+1
Spelling mistake (triple letters) in comment. Detected with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Link: https://lore.kernel.org/r/20220521111145.81697-79-Julia.Lawall@inria.fr Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-06ASoC: amd: acp: Add support for rt5682s and rt1019 card with hs instanceV sujith kumar Reddy3-10/+81
We have new platform with rt5682s as a primary codec and rt1019 as an amp codec. Add machine struct to register sof audio based sound card on such Chrome machine. Here we are configuring as a soc mclk master and codec slave. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220531120813.47116-3-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-06ASoC: amd: acp: Add support for nau8825 and max98360 cardV sujith kumar Reddy6-6/+201
We have new platform with nau8825 as a primary codec and max98360 as an amp codec. Add machine struct to register sof audio based sound card on such Chrome machine. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com> Link: https://lore.kernel.org/r/20220531120813.47116-2-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-06ASoC: amd: vangogh: Rename set_fmt_new back to set_fmtCharles Keepax1-1/+1
Now the core has been migrated across to the new direct clock specification we can move the drivers back to the normal set_fmt callback. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-30-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-06-06ASoC: amd: vangogh: Update to use set_fmt_new callbackCharles Keepax1-3/+3
As part of updating the core to directly tell drivers if they are clock provider or consumer update this CPU side driver to use the new direct callback. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-3-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-05-23ASoC: SOF: amd: Fixed Build errorSyed Saba kareem1-0/+1
Add linux/module.h in acp-pci.c to solve the below dependency All error/warnings (new ones prefixed by >>): >> sound/soc/amd/acp/acp-pci.c:148:1: warning: data definition has no type or storage class 148 | MODULE_DEVICE_TABLE(pci, acp_pci_ids); | ^~~~~~~~~~~~~~~~~~~ >> sound/soc/amd/acp/acp-pci.c:148:1: error: type defaults to 'int' in declaration of 'MODULE_DEVICE_TABLE' [-Werror=implicit-int] ... Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Syed Saba Kareem<ssabakar@amd.com> Link: https://lore.kernel.org/r/20220523112956.3087604-1-ssabakar@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-05-19ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driver.V sujith kumar Reddy5-73/+10
RT1019 codec has two ways of controlling the en_spkr. one way is controlling through gpio pin method the another way is through codec register update through driver. Now Speaker enable/disable is controlled through codec register updated by codec driver. This patch reverts gpio logic. This reverts commit 5c5f08f7fc0bee9a1bc3fbdcb7a21cfd0648ab14 ("ASoC: amd: acp: Power on/off the speaker enable gpio pin based on DAPM callback.") Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220516160619.17832-2-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-05-19ASoC: amd: acp: Set Speaker enable/disable pin through rt1019 codec driverV sujith kumar Reddy2-2/+3
RT1019 codec has two ways of controlling the en_spkr. one way is controlling through gpio pin method the another way is through codec register update through driver. Now Speaker enable/disable is controlled through codec register updated by codec driver. This patch reverts gpio logic. This reverts commit 7fa5c33d043160eba3be9fb8e21588dff2a467c7 ("ASoC: amd: acp: Set gpio_spkr_en to None for max speaker amplifer in machine driver"). Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Link: https://lore.kernel.org/r/20220516160619.17832-1-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-05-16ASoC: amd: vangogh: Remove duplicate include filesYueHaibing1-2/+0
Remove duplicated includes. Signed-off-by: YueHaibing <yuehaibing@huawei.com> Link: https://lore.kernel.org/r/20220514023806.34768-1-yuehaibing@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-20ASoC: amd: acp: Add pm ops callback in machine driverAjit Kumar Pandey2-0/+2
Add alsa snd_soc_pm_ops callback in ACP machine driver to support suspend and resume operation of sound card components Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220420094442.1352717-1-AjitKumar.Pandey@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-14ASoC: soc-card: Create jack kcontrol without pinsAkihiko Odaki5-10/+10
snd_soc_card_jack_new() allowed to create jack kcontrol without pins, but did not create kcontrols. The jack would not have kcontrols if pins were not going to be added. This renames the old snd_soc_card_jack_new() to snd_soc_card_jack_new_pins() for use when pins are provided or will be added later. The new snd_soc_card_jack_new() appropriately creates a jack for use without pins and adds a kcontrol. Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Link: https://lore.kernel.org/r/20220408041114.6024-1-akihiko.odaki@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-12Allow detecting ACP6x DMIC via _DSDMark Brown1-4/+38
Merge series from Mario Limonciello <mario.limonciello@amd.com>: It's not possible to probe for the presence of a DMIC, so the ACP6x machine driver currently has a hardcoded list of all the systems known to have a DMIC connected to the ACP. Although this design works it means that the acp6x driver needs to always grow with more systems and worse, if an OEM introduces a new system there will be a mismatch in time that even if the driver (otherwise) works fine it needs their system added to the list to work. So this series introduces a _DSD that OEMs can populate into the BIOS to indicate presence of a DMIC.
2022-04-11ASoC: amd: yc: add new YC platform varaint supportVijendar Mukunda1-2/+7
Update PCI revision id check for the new YC platform varaint. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220411134119.1767646-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-11ASoC: amd: Add support for enabling DMIC on acp6x via _DSDMario Limonciello1-0/+13
Currently the acp6x machine driver requires a hardcoded list of systems that physically have DMIC connected. To avoid having to continually add to an evergrowing list of systems add support for a _DSD that can advertise this. OEMs can add this _DSD to their BIOS under the ACP device to automatically add the device to this driver without requiring any driver modifications. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20220411134532.13538-3-mario.limonciello@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-04-11ASoC: amd: Add driver data to acp6x machine driverMario Limonciello1-4/+25
Currently all of the quirked systems use the same card and so the DMI quirk list doesn't contain driver data. Add driver data to these quirks and then check the data was present or not. This will allow potentially setting quirks for systems with faulty firmware that claims to have a DMIC but doesn't really. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20220411134532.13538-2-mario.limonciello@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-03-21Merge tag 'asoc-v5.18' of ↵Takashi Iwai22-82/+774
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Updates for v5.18 Quite a quiet release for ASoC, lots of work on drivers and platforms but nothing too groundbreaking but not much on the core itself: - Start of moving SoF to support multiple IPC mechanisms. - Use of NHLT ACPI table to reduce the amount of quirking required for Intel systems. - Some building blocks for use in forthcoming Intel AVS driver for legacy Intel DSP firmwares. - Support for AMD PDM, Atmel PDMC, Awinic AW8738, i.MX cards with TLV320AIC31xx, Intel machines with CS35L41 and ESSX8336, Mediatek MT8181 wideband bluetooth, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M
2022-03-16ASoC: amd: Fix reference to PCM buffer addressMeng Tang1-1/+1
PCM buffers might be allocated dynamically when the buffer preallocation failed or a larger buffer is requested, and it's not guaranteed that substream->dma_buffer points to the actually used buffer. The driver needs to refer to substream->runtime->dma_addr instead for the buffer address. Fixes: cab396d8b22c1 ("ASoC: amd: add ACP5x pcm dma driver ops") Signed-off-by: Meng Tang <tangmeng@uniontech.com> Link: https://lore.kernel.org/r/20220316091303.9745-1-tangmeng@uniontech.com Signed-off-by: Mark Brown <broonie@kernel.org>