summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-29ALSA: hda/tas2781: do not use regcacheGergo Koteles
There are two problems with using regcache in this module. The amplifier has 3 addressing levels (BOOK, PAGE, REG). The firmware contains blocks that must be written to BOOK 0x8C. The regcache doesn't know anything about BOOK, so regcache_sync writes invalid values to the actual BOOK. The module handles 2 or more separate amplifiers. The amplifiers have different register values, and the module uses only one regmap/regcache for all the amplifiers. The regcache_sync only writes the last amplifier used. The module successfully restores all the written register values (RC profile, program, configuration, calibration) without regcache. Remove regcache functions and set regmap cache_type to REGCACHE_NONE. Link: https://lore.kernel.org/r/21a183b5a08cb23b193af78d4b1114cc59419272.1701906455.git.soyer@irl.hu/ Fixes: 5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver") Acked-by: Mark Brown <broonie@kernel.org> CC: stable@vger.kernel.org Signed-off-by: Gergo Koteles <soyer@irl.hu> Link: https://lore.kernel.org/r/491aeed0e2eecc3b704ec856f815db21bad3ba0e.1703202126.git.soyer@irl.hu Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-29ASoC: SOF: imx: Add SNDRV_PCM_INFO_BATCH flagShengjiu Wang
The sof imx pcm device is a device which should support double buffering. Found this issue with pipewire. When there is no SNDRV_PCM_INFO_BATCH flag in driver, the pipewire will set headroom to be zero, and because sof pcm device don't support residue report, when the latency setting is small, the "delay" always larger than "target" in alsa-pcm.c, that reading next period data is not scheduled on time. With SNDRV_PCM_INFO_BATCH flag in driver, the pipewire will select a smaller period size for device, then the task of reading next period data will be scheduled on time. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1703669263-13832-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-29ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enableChancel Liu
There is error message when defer probe happens: fsl_rpmsg rpmsg_audio: Unbalanced pm_runtime_enable! Fix the error handler with pm_runtime_enable. Fixes: b73d9e6225e8 ("ASoC: fsl_rpmsg: Add CPU DAI driver for audio base on rpmsg") Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20231225080608.967953-1-chancel.liu@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: Intel: cht_bsw_rt5645: Set card.components stringHans de Goede
Set the card.components string using the new rt5645_components() helper which returns a components string based on the DMI quirks inside the rt5645 codec driver. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-8-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Add mono speaker information to the components stringHans de Goede
The GPD Win and Teclast X80 Pro both only have 1 speaker add information about this to the components string. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-7-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Add a rt5645_components() helperHans de Goede
The rt5645 codec driver uses DMI quirks to configure the DMIC data-pins, which means that it knows which DMIC interface is used on a specific device. ATM we duplicate this DMI matching inside the UCM profiles to select the right DMIC interface. Add a rt5645_components() helper which the machine-driver can use to set the components string of the card so that UCM can get the info from the components string. This way we only need to add new DMI quirks in one place. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-6-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Add rt5645_get_pdata() helperHans de Goede
Add a rt5645_get_pdata() helper function which retreives the platform-data and overrides it with the quirks module parameter if that is set. This is a preparation patch for adding the rt5645_components() function. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-5-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Refactor rt5645_parse_dt()Hans de Goede
Refactor rt5645_parse_dt(), make it take a pointer to struct rt5645_platform_data as argument instead of passing in the complete rt5645_priv struct. While at it also make it void since it always succeeds. This is a preparation patch for factoring the code to get the platform-data out into a separate helper function. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-4-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Add platform-data for Acer Switch V 10Hans de Goede
The Acer Switch V 10 uses the default jack-detect mode 3, but instead of using an analog microphone it is using a DMIC on dmic-data-pin 1, like other models following Intel's Braswell's reference design. Add a DMI quirk pointing to the intel_braswell_platform_data for this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-3-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[]Hans de Goede
dmi_platform_data[] first contains a DMI entry matching: DMI_MATCH(DMI_PRODUCT_NAME, "EF20"), and then contains an identical entry except for the match being: DMI_MATCH(DMI_PRODUCT_NAME, "EF20EA"), Since these are partial (non exact) DMI matches the first match will also match any board with "EF20EA" in their DMI product-name, drop the second, redundant, entry. Fixes: a4dae468cfdd ("ASoC: rt5645: Add ACPI-defined GPIO for ECS EF20 series") Cc: Chris Chiu <chiu@endlessos.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://msgid.link/r/20231126214024.300505-2-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-21ALSA: hda: cs35l41: Only add SPI CS GPIO if SPI is enabled in kernelStefan Binding
If CONFIG_SPI is not set in the kernel, there is no point in trying to set the chip selects. We can selectively compile it. Fixes: 8c4c216db8fb ("ALSA: hda: cs35l41: Add config table to support many laptops without _DSD") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202312192256.lJelQEoZ-lkp@intel.com/ Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231219162232.790358-3-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-21ALSA: hda: cs35l41: Do not allow uninitialised variables to be freedStefan Binding
Initialise the variables to NULL so that they cannot be uninitialised when devm_kfree is called. Found by static analysis. Fixes: 8c4c216db8fb ("ALSA: hda: cs35l41: Add config table to support many laptops without _DSD") Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231219162232.790358-2-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-21Merge tag 'asoc-fix-v6.7-rc7' of ↵Takashi Iwai
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v6.7 Quite a big collection of fixes, as ever mostly in drivers. There's one framework fix for the HDMI CODEC where it wasn't handling startup properly for some controllers, and one new x86 quirk, but otherwise all local fixes or dropping things we don't want to see in a release.
2023-12-19ASoC: qcom: add sound card support for SM8650Mark Brown
Merge series from Neil Armstrong <neil.armstrong@linaro.org>: Document the SM8650 sound card using the SM8450 fallback and add the SM8650 compatible to the sc8280xp sound card driver to use the sm8650 card driver_name like SM8450 & SM8550.
2023-12-19add es8326 dt-bindings, commonize headset codecMark Brown
Merge series from Rui Zhou <zhourui@huaqin.corp-partner.google.com>: Add dt-bindings for es8326 and codec es8326 support. Remove duplicate code, commonize headset codec init/exit API. At the same time, Enable dual amp max98390 for rt5682s.
2023-12-19Improve AMD ACP Vangogh audio support for Steam DeckMark Brown
Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>: This patch series provides several fixes and improvements to AMD ACP drivers targeting the Vangogh platform, as found on the Valve's new Steam Deck OLED. Although in theory the board should have been supported by both SOF and legacy ACP drivers, as of next-20231208 the audio seems to be completely broken. Please note this only restores the legacy support, while SOF will be handled in a separate series.
2023-12-19ASoC: don't use original dummy dlcMark Brown
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: "Empty" dlc might be used on Platform, but "dummy" dlc is not needed for it. [PATCH 1/5][PATCH 2/5] removes "dummy" dlc from Platform. Now ASoC have common dummy dlc (= snd_soc_dummy_dlc). [PATCH 3/5][PATCH 4/5] will use it instead of original dummy dlc. Many drivers are using below macro SND_SOC_DAILINK_DEFS(link, DAILINK_COMP_ARRAY(COMP_CPU(...)), (X) DAILINK_COMP_ARRAY(COMP_DUMMY()), DAILINK_COMP_ARRAY(COMP_EMPTY())); But (X) part will create original dummy dlc. [PATCH 5/5] will try not to create original dummy dlc, and replace it to common dummy dlc.
2023-12-19GPIO inclusion fixes to misc sound driversMark Brown
Merge series from Linus Walleij <linus.walleij@linaro.org>: Mostly dropping unused headers, and a single driver rewrite.
2023-12-19ASoC: dt-bindings: qcom,lpass-va-macro: remove spurious contains in if statementNeil Armstrong
Remove this spurious "contains" which causes the bindings check of qcom,sm8450-lpass-va-macro compatible to fail with: codec@33f0000: clocks: [[156, 57, 1], [156, 102, 1], [156, 103, 1], [156, 70, 1]] is too long from schema $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml# codec@33f0000: clock-names: ['mclk', 'macro', 'dcodec', 'npl'] is too long from schema $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml# Seems the double "contains" was considered as valid by the tool but broke the entire if statements. Fixes: f243ef746d0a ("ASoC: dt-bindings: qcom,lpass-va-macro: Add SM8650 LPASS VA") Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231219-topic-sm8x50-upstream-va-macro-bindings-fix-v1-1-ae133886f70e@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: sprd: Simplify memory allocation in sprd_platform_compr_dma_config()Christophe JAILLET
'sg' is freed at the end sprd_platform_compr_dma_config() both in the normal and in the error handling path. There is no need to use the devm_kcalloc()/devm_kfree(), kcalloc()/kfree() is enough. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://msgid.link/r/d16f22ae0627249a9fc658927832590cd88c544e.1702960856.git.christophe.jaillet@wanadoo.fr Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: SOF: amd: Add acp-psp mailbox interface for iram-dram fence register ↵Venkata Prasad Potturu
modification Add acp-psp mailbox communication interface for iram-dram size modification to notify psp. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20231219112416.3334928-5-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: SOF: Rename amd_bt sof_dai_typeVenkata Prasad Potturu
Rename amd_bt sof_dai_type from ACP to ACP_BT. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20231219112416.3334928-4-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: SOF: Add i2s bt dai configuration support for AMD platformsVenkata Prasad Potturu
Add support for i2s bt dai configuration from topology. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20231219112416.3334928-3-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: SOF: Refactor sof_i2s_tokens reading to update acpbt daiVenkata Prasad Potturu
Refactor sof_i2s_tokens reading to update config->acpbt. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20231219112416.3334928-2-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: SOF: amd: Refactor spinlock_irq(&sdev->ipc_lock) sequence in irq_handlerVenkata Prasad Potturu
Refactor spinlock_irq(&sdev->ipc_lock) sequence in irq_handler to avoid race conditions for acquiring hw_semaphore. Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com> Link: https://msgid.link/r/20231219112416.3334928-1-venkataprasad.potturu@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: soc.h: don't create dummy Component via COMP_DUMMY()Kuninori Morimoto
Many ASoC drivers define CPU/Codec/Platform dai_link by below macro. SND_SOC_DAILINK_DEFS(link, (A) DAILINK_COMP_ARRAY(COMP_CPU("cpu_dai")), (B) DAILINK_COMP_ARRAY(COMP_CODEC("codec", "dai1"), (B) COMP_CODEC("codec", "dai2")), (C) DAILINK_COMP_ARRAY(COMP_EMPTY())); In this case, this macro will be converted to like below [o] = static struct snd_soc_dai_link_component (A) [o] link_cpus[] = {{ .dai_name = "cpu_dai" }}; (B) [o] link_codecs[] = {{ .dai_name = "dai1", .name = "codec" }, { .dai_name = "dai2", .name = "codec" }} (C) [o] link_platforms[] = {{ }}; CPU and Codec info will be filled by COMP_CPU() / COMP_CODEC (= A,B), and Platform will have empty data by COMP_EMPTY() (= C) in this case. Platform empty info will be filled when driver probe() (most of case, CPU info will be copied to use soc-generic-dmaengine-pcm). For example in case of DPCM FE/BE, it will be like below. Codec will be dummy Component / DAI in this case (X). SND_SOC_DAILINK_DEFS(link, DAILINK_COMP_ARRAY(COMP_CPU(...)), (X) DAILINK_COMP_ARRAY(COMP_DUMMY()), DAILINK_COMP_ARRAY(COMP_EMPTY())); (X) part will converted like below [o] link_codecs[] = {{ .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", }} Even though we already have common asoc_dummy_dlc for dummy Component / DAI, this macro will re-create new dummy dlc. Some drivers defines many dai_link info via SND_SOC_DAILINK_DEFS(), this means many dummy dlc also will be re-created. This is waste of memory. If we can use existing common asoc_dummy_dlc at (X), we can avoid to re-creating dummy dlc, then, we can save the memory. At that time, we want to keep existing code as much as possible, because too many drivers are using this macro. But because of its original style, using common asoc_dummy_dlc from it is very difficult or impossible. So let's change the mind. The macro is used like below SND_SOC_DAILINK_DEFS(link, DAILINK_COMP_ARRAY(COMP_CPU(...)), (x) DAILINK_COMP_ARRAY(COMP_DUMMY()), DAILINK_COMP_ARRAY(COMP_EMPTY())); static struct snd_soc_dai_link dai_links[] = { { .name = ..., .stream_name = ..., (y) SND_SOC_DAILINK_REG(link), }, (y) part will be like below static struct snd_soc_dai_link dai_links[] = { { .name = ..., .stream_name = ..., ^ ... | .codecs = link_codecs, (y) .num_codecs = ARRAY_SIZE(link_codecs), v ... } This patch try to use trick on COMP_DUMMY() - #define COMP_DUMMY() { .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", } + #define COMP_DUMMY() By this tric, (x) part will be like below. before [o] link_codecs[] = {{ .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", }} after [o] link_codecs[] = { }; This is same as below [o] link_codecs[0]; This means it has pointer (link_codecs), but the array size is 0. (y) part will be like below. static struct snd_soc_dai_link dai_links[] = { { ... .codecs = link_codecs, .num_codecs = 0, ... }, This is very special settings that normal use usually not do, but new macro do. We can find this special settings on soc-core.c and fill it as "dummy DAI" (= asoc_dummy_dlc). By this tric, we can avoid to re-create dummy dlc and save the memory. This patch add tric at COMP_DUMMY() and add snd_soc_fill_dummy_dai() to fill dummy DAI. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://msgid.link/r/871qbi93qu.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: sof: use snd_soc_dummy_dlcKuninori Morimoto
We already have snd_soc_dummy_dlc. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://msgid.link/r/8734vy93r8.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: intel: hdaudio.c: use snd_soc_dummy_dlcKuninori Morimoto
We already have snd_soc_dummy_dlc. Let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://msgid.link/r/874jge93ri.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: samsung: odroid: don't need DUMMY PlatformKuninori Morimoto
We can use SND_SOC_DAILINK_REG() with 2 parameter. DUMMY Platform is not needed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://msgid.link/r/875y0u93rq.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: fsl: fsl-asoc-card: don't need DUMMY PlatformKuninori Morimoto
We can use SND_SOC_DAILINK_REG() with 2 parameter. DUMMY Platform is not needed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://msgid.link/r/877cla93ry.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: fsl_sai: Fix channel swap issue on i.MX8MPShengjiu Wang
When flag mclk_with_tere and mclk_direction_output enabled, The SAI transmitter or receiver will be enabled in very early stage, that if FSL_SAI_xMR is set by previous case, for example previous case is one channel, current case is two channels, then current case started with wrong xMR in the beginning, then channel swap happen. The patch is to clear xMR in hw_free() to avoid such channel swap issue. Fixes: 3e4a82612998 ("ASoC: fsl_sai: MCLK bind with TX/RX enable bit") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> Link: https://msgid.link/r/1702953057-4499-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-19ASoC: hdmi-codec: fix missing report for jack initial statusJerome Brunet
This fixes a problem introduced while fixing ELD reporting with no jack set. Most driver using the hdmi-codec will call the 'plugged_cb' callback directly when registered to report the initial state of the HDMI connector. With the commit mentionned, this occurs before jack is ready and the initial report is lost for platforms actually providing a jack for HDMI. Fix this by storing the hdmi connector status regardless of jack being set or not and report the last status when jack gets set. With this, the initial state is reported correctly even if it is disconnected. This was not done initially and is also a fix. Fixes: 15be353d55f9 ("ASoC: hdmi-codec: register hpd callback on component probe") Reported-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com> Closes: https://lore.kernel.org/alsa-devel/CADYyEwTNyY+fR9SgfDa-g6iiDwkU3MUdPVCYexs2_3wbcM8_vg@mail.gmail.com/ Cc: Hsin-Yi Wang <hsinyi@google.com> Tested-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Link: https://msgid.link/r/20231218145655.134929-1-jbrunet@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ALSA: hda/realtek: Add quirks for ASUS Zenbook 2023 ModelsStefan Binding
These models use 2xCS35L41amps with HDA using SPI and I2C. Models use internal and external boost. All models require DSD support to be added inside cs35l41_hda_property.c Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-8-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda: cs35l41: Support additional ASUS Zenbook 2023 ModelsStefan Binding
Add new model entries into configuration table. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-7-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 ModelsStefan Binding
These models use 2xCS35L41amps with HDA using SPI and I2C. Models use internal and external boost. All models require DSD support to be added inside cs35l41_hda_property.c Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-6-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda: cs35l41: Support additional ASUS Zenbook 2022 ModelsStefan Binding
Add new model entries into configuration table. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-5-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda/realtek: Add quirks for ASUS ROG 2023 modelsStefan Binding
These models use 2xCS35L41amps with HDA using SPI and I2C. All models use Internal Boost. Some models also use Realtek Speakers in conjunction with CS35L41. All models require DSD support to be added inside cs35l41_hda_property.c Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-4-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda: cs35l41: Support additional ASUS ROG 2023 modelsStefan Binding
Add new model entries into configuration table. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-3-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ALSA: hda: cs35l41: Add config table to support many laptops without _DSDStefan Binding
This make use of the CS35L41 HDA Property framework, which supports laptops which do not have the _DSD properties in their ACPI. Add configuration table to be able to use a generic function which allows laptops to be supported just by adding an entry into the table. Use configuration table function for existing system 103C89C6. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20231218151221.388745-2-sbinding@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-18ASoC: amd: acp: Remove redundant ret variableHimanshu Bhavani
Removed Unneeded variable: "ret" Signed-off-by: Himanshu Bhavani <himanshu.bhavani@siliconsignals.io> Link: https://msgid.link/r/20231218143214.939885-1-himanshu.bhavani@siliconsignals.io Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: tas2781: add support for FW version 0x0503Gergo Koteles
Layout of FW version 0x0503 is compatible with 0x0502. Already supported by TI's tas2781-linux-driver tree. https://git.ti.com/cgit/tas2781-linux-drivers/tas2781-linux-driver/ Fixes: 915f5eadebd2 ("ASoC: tas2781: firmware lib") Signed-off-by: Gergo Koteles <soyer@irl.hu> Link: https://msgid.link/r/98d4ee4e01e834af72a1a0bea6736facf43582e0.1702513517.git.soyer@irl.hu Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS WSAKrzysztof Kozlowski
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS) WSA macro codec, which looks like compatible with earlier SM8550. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231211123104.72963-4-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS VAKrzysztof Kozlowski
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS) VA macro codec, which looks like compatible with earlier SM8550. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231211123104.72963-3-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS TXKrzysztof Kozlowski
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS) TX macro codec, which looks like compatible with earlier SM8550. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231211123104.72963-2-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: dt-bindings: qcom,lpass-rx-macro: Add X1E80100 LPASS RXKrzysztof Kozlowski
Add bindings for Qualcomm X1E80100 SoC Low Power Audio SubSystem (LPASS) RX macro codec, which looks like compatible with earlier SM8550. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231211123104.72963-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: qcom: Fix trivial code style issuesKrzysztof Kozlowski
Fix few trivial code style issues, pointed out by checkpatch, so they do not get copied to new code (when old code is used as template): WARNING: Prefer "GPL" over "GPL v2" - see commit bf7fbeeae6db ("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2" bogosity") WARNING: function definition argument 'struct platform_device *' should also have an identifier name ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line WARNING: Missing a blank line after declarations WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231204100048.211800-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: soc-pcm.c: Complete the active count for components without DAIsChancel Liu
Some components like platforms don't have DAIs. If the active count of these components is ignored pinctrl may be wrongly selected between default and sleep state. So need to increment or decrement the active count for components without DAIs to avoid it. Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Link: https://msgid.link/r/20231204111532.3165-1-chancel.liu@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: dt-bindings: qcom,sm8250: Add X1E80100 sound cardKrzysztof Kozlowski
Document bindings for the Qualcomm X1E80100 SoC sound card. The bindings are the same as for other newer Qualcomm ADSP sound cards, thus keep them in existing qcom,sm8250.yaml file, even though Linux driver is separate. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://msgid.link/r/20231204100116.211898-2-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: qcom: Add x1e80100 sound machine driverKrzysztof Kozlowski
Add sound machine driver for the soundcards on Qualcomm X1E80100 SoC, supporting up to four channel audio playback over Soundwire bus. The driver is based on existing sc8280xp.c driver. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://msgid.link/r/20231204100116.211898-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18ASoC: mediatek: mt8188-mt6359: Enable dual amp for mt8188-rt5682sRui Zhou
Enable support for dual MAX98390 amplifiers on the mt8188-rt5682s board. Reviewed-by: Trevor Wu <trevor.wu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com> Link: https://msgid.link/r/20231212123050.4080083-5-zhourui@huaqin.corp-partner.google.com Signed-off-by: Mark Brown <broonie@kernel.org>