summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-16ASoC: cs42l42: Minor fix all errors reported by checkpatch.pl scriptVitaly Rodionov
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210916110932.10293-1-vitalyr@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: core: Move probe work related code under a single if () branchPeter Ujfalusi
Relocate the INIT_WORK() at the same place where we schedule the work to make the code simpler and easier to follow. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210916124902.24248-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: cs42l42: Implement Manual Type detection as fallbackStefan Binding
Some headsets are not detected correctly by Automatic Type Detection on cs42l42. Instead, Manual Type Detection can be used to give a more accurate value. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210916102750.9212-2-vitalyr@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_opsPeter Ujfalusi
The snd_soc_cdai_ops have startup and shutdown callbacks defined unlike the component callbacks where open and free is used. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-7-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: Intel: Rename hda-compress.c to hda-probes.cPeter Ujfalusi
The hda-compress.c is implementing the SOF probe support for intel HDA platforms using compress API. To avoid the confusion, rename it to reflect this. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-6-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: probe: Merge and clean up the probe and compress filesPeter Ujfalusi
The probe debug functionality is implemented via compress support and it was spread across two set of files: probe.c/h compress.c/h Merge the two files into sof-probes.s/h and clean them up by removing unused struct definitions, functions. We can also move most of the functions static as they are only used internally. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-5-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: compress: move and export sof_probe_compr_opsRanjani Sridharan
sof_probe_compr_ops are not platform-specific. So move it to common compress code and export the symbol. The compilation of the common compress code is already dependent on the selection of CONFIG_SND_SOC_SOF_DEBUG_PROBES, so no need to check the Kconfig section for defining sof_probe_compr_ops again. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: pcm: Remove non existent CONFIG_SND_SOC_SOF_COMPRESS referencePeter Ujfalusi
The SND_SOC_SOF_COMPRESS is not valid Kconfig option, remove it. At the same time remove the also the declaration of the non existent sof_compressed_ops. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-16ASoC: SOF: ipc: Add probe message logging to ipc_log_header()Peter Ujfalusi
Probe related messages are missing from the logging, for example the PROBE_INIT would show up as: ipc tx: 0xc0010000: unknown GLB command ipc tx succeeded: 0xc0010000: unknown GLB command Add code to handle the probe messages to have human readable output Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210916103211.1573-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item()Peter Ujfalusi
The snd_sof_debugfs_io_item() only used within debug.c, no need to export it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-13-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: loader: Use the generic ops for region debugfs handlingPeter Ujfalusi
Do not access the sdev->bar[] directly to make the code generic, use the new generic ops for handing the regions for debugfs. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-12-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Intel: Provide debugfs_add_region_item ops for corePeter Ujfalusi
Set the generic iomem callback for debugfs_add_region_item to avoid regression when the core switches to use the generic interface for the regions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-11-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: imx: Provide debugfs_add_region_item ops for corePeter Ujfalusi
Set the generic iomem callback for debugfs_add_region_item to avoid regression when the core switches to use the generic interface for the regions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-10-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: debug: Add generic API and ops for DSP regionsPeter Ujfalusi
Add new debugfs_add_region_item along with a generic wrapper snd_sof_debugfs_add_region_item() to abstract away the DSP regions related debugfs support. At the same commit add iomem based generic implementation for the new ops Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-9-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: core: Do not use 'bar' as parameter for block_read/writePeter Ujfalusi
The use of bar in the core poses limits on the portability of the code to other, non iomapped platforms. To make the API more generic, remove the use of 'bar' as parameter for the block copy API. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-8-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data()Peter Ujfalusi
snd_sof_fw_parse_ext_data() is used only internally within loader.c and there is no need to export it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-7-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64Peter Ujfalusi
The read64 operation is not used by IMX along with other IO functions. No need to set it for the ops. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init()Peter Ujfalusi
The snd_sof_dsp_mailbox_init() is called only from sof_get_windows() to set the sdev->dsp_box.offset/size and sdev->host_box.offset/size Instead of using a function, set the offsets and sizes like we do for the other boxes in sof_get_windows(). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probePeter Ujfalusi
To align with other platforms, set only the sdev->dsp_box.offset in bdw_probe(). The mailbox offset must be set in order to be able to receive the firmware ready message. The offsets and sizes will be re-configured after the FW ready message based on the window information. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210915122116.18317-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15Merge series "ASoC: SOF: Remove unused members from struct sof_dev_desc" ↵Mark Brown
from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: Hi, dma_engine, dma_size and resindex_dma_base is unused from sof_dev_desc, drop them. resindex_dma_base is initialized to -1 for Intel platforms, but it is not used. Regards, Peter --- Peter Ujfalusi (2): ASoC: SOF: intel: Do no initialize resindex_dma_base ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_desc include/sound/sof.h | 5 ----- sound/soc/sof/intel/pci-apl.c | 2 -- sound/soc/sof/intel/pci-cnl.c | 3 --- sound/soc/sof/intel/pci-icl.c | 2 -- sound/soc/sof/intel/pci-tgl.c | 5 ----- sound/soc/sof/intel/pci-tng.c | 1 - 6 files changed, 18 deletions(-) -- 2.33.0
2021-09-15Merge series "ASoC: SOF: Intel: hda: Cleanups for local function uses" from ↵Mark Brown
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: Hi, Small cleanups regarding to HDA function locations and dropping of definitions of not implemented functions. Regards, Peter --- Peter Ujfalusi (3): ASoC: SOF: Intel: hda-dsp: Declare locally used functions as static ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarations ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdw sound/soc/sof/intel/hda-dsp.c | 61 +++++++++++++++++------------------ sound/soc/sof/intel/hda.c | 33 ++++++++++++++++++- sound/soc/sof/intel/hda.h | 41 ----------------------- 3 files changed, 62 insertions(+), 73 deletions(-) -- 2.33.0
2021-09-15Merge series "Support ALC5682I-VS codec" from Brent Lu <brent.lu@intel.com>:Mark Brown
Support the ALC5682I-VS codec in Intel's rt5682 machine driver with three board configurations. Brent Lu (4): ASoC: Intel: sof_rt5682: support ALC5682I-VS codec ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p board ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 board ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a board sound/soc/intel/boards/Kconfig | 1 + sound/soc/intel/boards/sof_rt5682.c | 105 +++++++++++++++--- .../intel/common/soc-acpi-intel-jsl-match.c | 24 ++++ 3 files changed, 112 insertions(+), 18 deletions(-) -- 2.25.1
2021-09-15ASoC: cs35l41: Fix a bunch of trivial code formating/style issuesCharles Keepax
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-6-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: cs35l41: Fixup the error messagesCharles Keepax
It is not idiomatic for ASoC to print the function name in the error messages, however it is expected to show the return code. Update the error messages to follow these conventions. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-5-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: cs35l41: Don't overwrite returned error codeCharles Keepax
In multiple places the driver overwrites the error code returned with a static error code, this is not helpful for debugging. Update to pass the error codes straight through. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-4-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: cs35l41: Combine adjacent register writesCharles Keepax
cs35l41 is often connected over I2C which is a very slow bus, as such timings can be greatly improved combining writes where acceptable. Update several points where the driver does multiple register writes when a single one would suffice. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-3-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP bootCharles Keepax
Just clean up the code a little by using the helper rather than open coding waiting for OTP_BOOT_DONE. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-2-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: cs35l41: Fix use of an uninitialised variableCharles Keepax
The loop checking PDN_DONE doesn't check the return value from regmap_read, nor does it initialise val. This means if regmap_read fails val will be checked for the PDN_DONE bit whilst being uninitialised. Fix this up by switching to regmap_read_poll_timeout which tidies up the code and avoids the uninitialised variable. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210914141349.30218-1-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flowTrevor Wu
mt6359-sound is a MFD driver. Because its regmap is retrieved from its parent, it shouldn't be freed in mt6359-sound driver. snd_soc_component_exit_regmap() will do regmap_exit(), this results in unexpected results if sound card unregister flow is invoked when users try to bind/unbind audio codec. Remove the usage of snd_soc_component_exit_regmap(). Instead, set component->regmap = NULL in the component remove function. Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> Link: https://lore.kernel.org/r/20210915034659.25044-1-trevor.wu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: loader: load_firmware callback is mandatory, treat it like thatPeter Ujfalusi
Since the load_firmware callback in snd_sof_dsp_ops is mandatory and it is tested during probe. Move the snd_sof_load_firmware() wrapper to ops.h as inline and drop the check of sof_ops(sdev)->load_firmware Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210914125356.19828-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: mediatek: mt8195: make array adda_dai_list static constColin Ian King
Don't populate the array adda_dai_list on the stack but instead it static const. Also makes the object code smaller by 33 bytes: Before: text data bss dec hex filename 28271 11640 0 39911 9be7 mt8195/mt8195-dai-adda.o After: text data bss dec hex filename 28142 11736 0 39878 9bc6 mt8195/mt8195-dai-adda.o (gcc version 11.2.0) Signed-off-by: Colin Ian King <colin.king@canonical.com> Link: https://lore.kernel.org/r/20210915105027.10805-1-colin.king@canonical.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: mediatek: mt8195: Add missing of_node_put()Bixuan Cui
The platform_node is returned by of_parse_phandle() should have of_node_put() before return. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Bixuan Cui <cuibixuan@huawei.com> Link: https://lore.kernel.org/r/20210911081246.33867-1-cuibixuan@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdwPeter Ujfalusi
Move the only locally needed inline functions to hda.c when CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE is not enabled to make the header file less cluttered with information no needed to be there. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210915071805.5704-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarationsPeter Ujfalusi
hda_dsp_cl_boot_firmware_iccmax_icl and hda_dsp_cl_boot_firmware_skl is no longer backed with an implementation, remove them from the hda.h Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210915071805.5704-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Intel: hda-dsp: Declare locally used functions as staticPeter Ujfalusi
The following functions can be made static as they are only used locally: hda_dsp_core_reset_enter hda_dsp_core_reset_leave hda_dsp_core_stall_reset hda_dsp_core_power_up hda_dsp_core_power_down hda_dsp_core_is_enabled The hda_dsp_ipc_int_disable is also only used within hda-dsp.c, but for symmetry for hda_dsp_ipc_int_enable (used by hda-loader.c) leave it as it is. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210915071805.5704-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_descPeter Ujfalusi
resindex_dma_base, dma_engine and dma_size is unused, remove them. There is no hint in the comments how this supposed to be used, when the need arises it can be added back. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210915065541.1178-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: SOF: intel: Do no initialize resindex_dma_basePeter Ujfalusi
.resindex_dma_base is not used by the code and in all instances it is set to -1. To make it possible to remove it from the sof_dev_desc struct, first remove all references from the intel drivers (initialization). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210915065541.1178-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a boardBrent Lu
This patch adds driver data for two MAX98360A speaker amplifiers on SSP1 and one ALC5682I-VS headphone codec on SSP0 for JSL platform. Topology is leveraged from jsl_rt5682_mx98360a since the capability of two ALC5682 variants is the same. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210914101847.778688-5-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 boardBrent Lu
This patch adds driver data for two ALC1015Q-CG speaker amplifiers on SSP1 and one ALC5682I-VS headphone codec on SSP0 for JSL platform. Topology is leveraged from jsl_rt5682_rt1015 since the capability of two ALC5682 variants is the same. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210914101847.778688-4-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p boardBrent Lu
This patch adds driver data for two ALC1015Q-VB speaker amplifiers on SSP1 and one ALC5682I-VS headphone codec on SSP0 for JSL platform. Topology is leveraged from jsl_rt5682_rt1015p since the capability of two ALC5682 variants is the same. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210914101847.778688-3-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-15ASoC: Intel: sof_rt5682: support ALC5682I-VS codecBrent Lu
Add a new quirk SOF_RT5682S_HEADPHONE_CODEC_PRESENT to support ALC5682I-VS headphone codec which driver is a new one, rt5682s, with new macros and functions. Signed-off-by: Brent Lu <brent.lu@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210914101847.778688-2-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-13Merge series "Patches to update for rockchip pdm" from Sugar Zhang ↵Mark Brown
<sugar.zhang@rock-chips.com>: These patches fixup or update for rockchip pdm. Changes in v4: - Acked by Rob Herring Changes in v3: - Fix property 'path-map' suggested by Rob Herring. Changes in v2: - Fix yamllint errors. Sugar Zhang (7): ASoC: rockchip: Add support for rv1126 pdm ASoC: dt-bindings: rockchip: Add binding for rv1126 pdm ASoC: rockchip: pdm: Add support for rk3568 pdm ASoC: dt-bindings: rockchip: Add binding for rk3568 pdm ASoC: rockchip: pdm: Add support for path map ASoC: dt-bindings: rockchip: pdm: Document property 'rockchip,path-map' ASoC: dt-bindings: rockchip: Convert pdm bindings to yaml .../devicetree/bindings/sound/rockchip,pdm.txt | 46 -------- .../devicetree/bindings/sound/rockchip,pdm.yaml | 120 +++++++++++++++++++++ sound/soc/rockchip/rockchip_pdm.c | 112 +++++++++++++++++-- sound/soc/rockchip/rockchip_pdm.h | 6 ++ 4 files changed, 232 insertions(+), 52 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.yaml -- 2.7.4
2021-09-13Merge series "Cirrus Logic CS35L41 Amplifier" from David Rhodes ↵Mark Brown
<drhodes@opensource.cirrus.com>: ASoC driver and devicetree documentation for a new Cirrus Logic amplifier CS35L41 v7 changes: Remove property 'classh-bst-max-limit' David Rhodes (2): ASoC: cs35l41: CS35L41 Boosted Smart Amplifier ASoC: cs35l41: Add bindings for CS35L41 .../devicetree/bindings/sound/cs35l41.yaml | 151 ++ include/sound/cs35l41.h | 34 + sound/soc/codecs/Kconfig | 12 + sound/soc/codecs/Makefile | 4 + sound/soc/codecs/cs35l41-i2c.c | 114 ++ sound/soc/codecs/cs35l41-spi.c | 143 ++ sound/soc/codecs/cs35l41-tables.c | 597 +++++++ sound/soc/codecs/cs35l41.c | 1545 +++++++++++++++++ sound/soc/codecs/cs35l41.h | 775 +++++++++ 9 files changed, 3375 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/cs35l41.yaml create mode 100644 include/sound/cs35l41.h create mode 100644 sound/soc/codecs/cs35l41-i2c.c create mode 100644 sound/soc/codecs/cs35l41-spi.c create mode 100644 sound/soc/codecs/cs35l41-tables.c create mode 100644 sound/soc/codecs/cs35l41.c create mode 100644 sound/soc/codecs/cs35l41.h -- 2.25.1
2021-09-13Merge series "ARM: dts: Last round of DT schema fixes" from Maxime Ripard ↵Mark Brown
<maxime@cerno.tech>: Hi, Here's another round of schema warnings fixes for the Allwinner platform. There's a fair share of new schemas in there since the schema tools now warn when a compatible is not documented in a schema. We don't have any warning anymore if we use the OPP binding Rob submitted, and since that means we have all our devices properly validated I don't expect more fixes now, aside from the usual bunch of regressions. Let me know what you think, Maxime Maxime Ripard (52): ASoC: dt-bindings: Add WM8978 Binding ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema ASoC: dt-bindings: Convert Simple Amplifier binding to a schema dt-bindings: Convert Reserved Memory binding to a schema dt-bindings: arm: Convert ARM CCI-400 binding to a schema dt-bindings: bluetooth: broadcom: Fix clocks check dt-bindings: bluetooth: realtek: Add missing max-speed dt-bindings: clocks: Fix typo in the H6 compatible dt-bindings: display: Move idk-1110wr to panel-lvds dt-bindings: display: Move idk-2121wr to panel-lvds dt-bindings: display: Move ee101ia-01d to panel-lvds dt-bindings: display: aa104xd12: Remove unused vcc-supply dt-bindings: display: aa104xd12: Fix data-mapping dt-bindings: display: Move aa104xd12 to panel-lvds dt-bindings: display: aa121td01: Remove unused vcc-supply dt-bindings: display: aa121td01: Fix data-mapping dt-bindings: display: Move aa121td01 to panel-lvds dt-bindings: display: Move gktw70sdae4se to panel-lvds dt-bindings: display: panel-lvds: Document missing panel compatibles dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema dt-bindings: hwmon: Add IIO HWMON binding dt-bindings: input: Convert Silead GSL1680 binding to a schema dt-bindings: interconnect: sunxi: Add R40 MBUS compatible dt-bindings: media: ti,cal: Fix example dt-bindings: media: Convert OV5640 binding to a schema dt-bindings: mfd: Convert X-Powers AC100 binding to a schema dt-bindings: mfd: Convert X-Powers AXP binding to a schema dt-bindings: mmc: Convert MMC Card binding to a schema dt-bindings: net: dwmac: Fix typo in the R40 compatible dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema dt-bindings: regulator: Convert SY8106A binding to a schema dt-bindings: sunxi: Add CPU Configuration Controller Binding dt-bindings: sunxi: Add Allwinner A80 PRCM Binding dt-bindings: usb: Convert SMSC USB3503 binding to a schema dt-bindings: usb: dwc3: Fix usb-phy check dt-bindings: w1: Convert 1-Wire GPIO binding to a schema ARM: dts: sunxi: Rename power-supply names ARM: dts: sunxi: Rename gpio pinctrl names ARM: dts: sunxi: Fix OPP arrays ARM: dts: sunxi: Fix OPPs node name ARM: dts: sunxi: Fix the SPI NOR node names ARM: dts: v3s: Remove useless DMA properties ARM: dts: tbs711: Fix touchscreen compatible ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible arm64: dts: allwinner: h5: Fix GPU thermal zone node name arm64: dts: allwinner: h6: Fix de3 parent clocks ordering arm64: dts: allwinner: a100: Fix thermal zone node name arm64: dts: allwinner: pinetab: Change regulator node name to avoid warning arm64: dts: allwinner: teres-i: Add missing reg arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC .../devicetree/bindings/arm/arm,cci-400.yaml | 216 ++++++++++ .../bindings/arm/cci-control-port.yaml | 38 ++ Documentation/devicetree/bindings/arm/cci.txt | 224 ---------- .../devicetree/bindings/arm/cpus.yaml | 2 + .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 + .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml | 38 ++ .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml | 33 ++ .../clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 +- .../display/panel/advantech,idk-1110wr.yaml | 69 --- .../display/panel/advantech,idk-2121wr.yaml | 121 ------ .../display/panel/innolux,ee101ia-01d.yaml | 31 -- .../bindings/display/panel/lvds.yaml | 130 +++++- .../display/panel/mitsubishi,aa104xd12.yaml | 75 ---- .../display/panel/mitsubishi,aa121td01.yaml | 74 ---- .../display/panel/sgd,gktw70sdae4se.yaml | 68 --- .../bindings/gnss/u-blox,neo-6m.yaml | 62 +++ .../devicetree/bindings/gnss/u-blox.txt | 45 -- .../devicetree/bindings/gpio/gpio-axp209.txt | 75 ---- .../bindings/gpio/x-powers,axp209-gpio.yaml | 55 +++ .../devicetree/bindings/hwmon/iio-hwmon.yaml | 37 ++ .../i2c/allwinner,sun6i-a31-p2wi.yaml | 2 +- .../input/touchscreen/silead,gsl1680.yaml | 91 ++++ .../input/touchscreen/silead_gsl1680.txt | 44 -- .../devicetree/bindings/media/i2c/ov5640.txt | 92 ---- .../bindings/media/i2c/ovti,ov5640.yaml | 154 +++++++ .../devicetree/bindings/media/ti,cal.yaml | 4 +- .../devicetree/bindings/mfd/ac100.txt | 50 --- .../devicetree/bindings/mfd/axp20x.txt | 273 ------------ .../bindings/mfd/x-powers,ac100.yaml | 116 +++++ .../bindings/mfd/x-powers,axp152.yaml | 400 ++++++++++++++++++ .../devicetree/bindings/mmc/mmc-card.txt | 30 -- .../devicetree/bindings/mmc/mmc-card.yaml | 48 +++ .../bindings/mmc/mmc-controller.yaml | 6 - .../net/allwinner,sun8i-a83t-emac.yaml | 4 +- .../bindings/net/broadcom-bluetooth.yaml | 17 +- .../bindings/net/realtek-bluetooth.yaml | 2 + .../devicetree/bindings/net/snps,dwmac.yaml | 6 +- .../bindings/net/wireless/esp,esp8089.txt | 30 -- .../bindings/net/wireless/esp,esp8089.yaml | 43 ++ .../bindings/regulator/silergy,sy8106a.yaml | 52 +++ .../bindings/regulator/sy8106a-regulator.txt | 23 - .../reserved-memory/memory-region.yaml | 40 ++ .../reserved-memory/reserved-memory.txt | 172 +------- .../reserved-memory/reserved-memory.yaml | 96 +++++ .../reserved-memory/shared-dma-pool.yaml | 87 ++++ .../devicetree/bindings/sound/bt-sco.txt | 13 - .../bindings/sound/linux,bt-sco.yaml | 38 ++ .../bindings/sound/linux,spdif-dit.yaml | 32 ++ .../bindings/sound/simple-amplifier.txt | 17 - .../sound/simple-audio-amplifier.yaml | 45 ++ .../bindings/sound/spdif-transmitter.txt | 10 - .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++ .../devicetree/bindings/usb/smsc,usb3503.yaml | 108 +++++ .../devicetree/bindings/usb/snps,dwc3.yaml | 10 +- .../devicetree/bindings/usb/usb3503.txt | 39 -- .../devicetree/bindings/w1/w1-gpio.txt | 27 -- .../devicetree/bindings/w1/w1-gpio.yaml | 44 ++ arch/arm/boot/dts/axp209.dtsi | 6 +- arch/arm/boot/dts/axp22x.dtsi | 6 +- arch/arm/boot/dts/axp81x.dtsi | 10 +- .../arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 11 +- arch/arm/boot/dts/sun4i-a10.dtsi | 11 +- arch/arm/boot/dts/sun5i-a13.dtsi | 15 +- arch/arm/boot/dts/sun6i-a31.dtsi | 44 +- arch/arm/boot/dts/sun7i-a20-bananapi.dts | 17 +- arch/arm/boot/dts/sun7i-a20.dtsi | 34 +- arch/arm/boot/dts/sun8i-a33.dtsi | 4 +- arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 2 +- arch/arm/boot/dts/sun8i-a83t.dtsi | 4 +- arch/arm/boot/dts/sun8i-h3.dtsi | 4 +- arch/arm/boot/dts/sun8i-v3-sl631.dtsi | 2 +- arch/arm/boot/dts/sun8i-v3s.dtsi | 2 - arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 2 +- .../boot/dts/sunxi-libretech-all-h3-it.dtsi | 2 +- arch/arm64/boot/dts/allwinner/axp803.dtsi | 10 +- .../arm64/boot/dts/allwinner/sun50i-a100.dtsi | 6 +- .../dts/allwinner/sun50i-a64-cpu-opp.dtsi | 2 +- .../dts/allwinner/sun50i-a64-orangepi-win.dts | 2 +- .../boot/dts/allwinner/sun50i-a64-pinetab.dts | 2 +- .../boot/dts/allwinner/sun50i-a64-teres-i.dts | 3 +- .../boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi | 2 +- arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 2 +- .../boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi | 2 +- arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 8 +- 84 files changed, 2191 insertions(+), 1743 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-1110wr.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/innolux,ee101ia-01d.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.yaml delete mode 100644 Documentation/devicetree/bindings/display/panel/sgd,gktw70sdae4se.yaml create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt create mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml create mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml create mode 100644 Documentation/devicetree/bindings/usb/smsc,usb3503.yaml delete mode 100644 Documentation/devicetree/bindings/usb/usb3503.txt delete mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.txt create mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.yaml -- 2.31.1
2021-09-13Merge series "Convert name-prefix doc to json-schema" from Sameer Pujar ↵Mark Brown
<spujar@nvidia.com>: Following are the changes: - Add json-schema for 'sound-name-prefix' documentation under 'name-perfix.yaml' - Use schema references wherever needed. - Remove txt based doc Changelog ========= v2 -> v3 -------- * Removed examples in patch 1/3 as suggested by Rob * Added reviewed tag from Jerome for the series * Added reviewed tag from Rob for patch 2/3 v1 -> v2 -------- * Provide top reference to name-prefix.yaml as suggested by Rob for patch 2/3 * Dropped couple of unreachable email ids from Cc list in commit message of patch 2/3 * No changes in remaining patches Sameer Pujar (3): ASoC: Add json-schema documentation for sound-name-prefix ASoC: Use schema reference for sound-name-prefix ASoC: Remove name-prefix.txt .../devicetree/bindings/sound/name-prefix.txt | 24 ---------------------- .../devicetree/bindings/sound/name-prefix.yaml | 21 +++++++++++++++++++ .../bindings/sound/nvidia,tegra186-dspk.yaml | 9 +++----- .../bindings/sound/nvidia,tegra210-dmic.yaml | 9 +++----- .../bindings/sound/nvidia,tegra210-i2s.yaml | 9 +++----- .../devicetree/bindings/sound/nxp,tfa989x.yaml | 9 +++----- Documentation/devicetree/bindings/sound/rt5659.txt | 2 +- .../bindings/sound/simple-audio-mux.yaml | 9 +++----- 8 files changed, 37 insertions(+), 55 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/name-prefix.txt create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml -- 2.7.4
2021-09-13ASoC: pcm5102a: increase rate from 192k to 384kgearhead
the pcm5102a is capable of 384k, but the current code limits it to 192k. This commit extends to 384k Signed-off-by: gearhead <ys3al35l@gmail.com> Link: https://lore.kernel.org/r/20210907210130.116769-1-ys3al35l@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-13ASoC: rt1011: add i2s reference control for rt1011Jack Yu
Add i2s reference control for rt1011 amp. Signed-off-by: Jack Yu <jack.yu@realtek.com> Link: https://lore.kernel.org/r/20210906101208.11585-1-jack.yu@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-13ASoC: SOF: Handle control change notification from firmwarePeter Ujfalusi
If the value/data associated with a control changes in SOF it will send a notification (SOF_IPC_GLB_COMP_MSG with SOF_IPC_COMP_GET_VALUE/DATA). We have support for binary volatile control type, but we might have features where enum/switch/volume changes. Re-implementing everything as volatile as well would be not much of a gain for several reasons: - volatile controls would do an IPC all the time, regardless if there is a need or not. - We still don't have notification which forces userspace to continuously poll. When such notification arrives we use snd_ctl_notify_one() to signal userspace about the change. The kernel is prepared for two types of notification: - the notification carries the new data for the control (num_elems != 0) The new value/data is copied to the control's local data - blank message about a change The new flag for the scontrol (comp_data_dirty) is set and when next time user space reads the value via the kcontrol's get callback we will refresh the control's local data from the firmware. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Tested-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com> Link: https://lore.kernel.org/r/20210903114018.2962-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-13ASoC: mt8195: remove unnecessary CONFIG_PMTrevor Wu
The unnecessary conditional inclusion caused the following warning. >> sound/soc/mediatek/mt8195/mt8195-afe-pcm.c:3260:32: warning: unused >> variable 'mt8195_afe_pm_ops' [-Wunused-const-variable] static const struct dev_pm_ops mt8195_afe_pm_ops = { ^ 1 warning generated. Because runtime_pm already handles the case without CONFIG_PM, we can remove CONFIG_PM condition. Fixes: 6746cc858259 ("ASoC: mediatek: mt8195: add platform driver") Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20210902071440.6087-1-trevor.wu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-13ASoC: SOF: control: fix a typo in put operations for kcontrolRander Wang
SOF_CTRL_TYPE_VALUE_CHAN_SET should be used for put operations for consistency. The current use of _GET is obviously incorrect but _GET and _SET result in the same action so there is no functional change introduced by this patch. Signed-off-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20210902114744.27237-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>