Alsa-devel
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2023
- 148 participants
- 279 discussions
Introduce snd_pcm_lib_frames_to_timespec64() to replace the calculation
audio_nsecs = div_u64(audio_frames * 1000000000LL,
runtime->rate);
which overflows after a playback duration of 4.8 days @ 44100 HZ or 0.56
days @ 384000 Hz.
The implementation of snd_pcm_lib_frames_to_timespec64() extends these
limits, to 1.5 million years (@ 384000 Hz), or the 68 year limit of
struct timespec on 32-bit systems.
Fixes: 3179f6200188 ("ALSA: core: add .get_time_info")
Fixes: 4eeaaeaea1ce ("ALSA: core: add hooks for audio timestamps")
Signed-off-by: consult.awy(a)gmail.com
---
sound/core/pcm_lib.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 943f5396fc60..e0a6556d33ee 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -205,12 +205,19 @@ int snd_pcm_update_state(struct snd_pcm_substream *substream,
return 0;
}
+static inline void snd_pcm_lib_frames_to_timespec64(u64 frames, unsigned int rate, struct timespec64 *audio_tstamp)
+{
+ u32 remainder;
+ audio_tstamp->tv_sec = div_u64_rem(frames, rate, &remainder);
+ audio_tstamp->tv_nsec = div_u64(mul_u32_u32(remainder, NSEC_PER_SEC), rate);
+}
+
static void update_audio_tstamp(struct snd_pcm_substream *substream,
struct timespec64 *curr_tstamp,
struct timespec64 *audio_tstamp)
{
struct snd_pcm_runtime *runtime = substream->runtime;
- u64 audio_frames, audio_nsecs;
+ u64 audio_frames;
struct timespec64 driver_tstamp;
if (runtime->tstamp_mode != SNDRV_PCM_TSTAMP_ENABLE)
@@ -233,9 +240,7 @@ static void update_audio_tstamp(struct snd_pcm_substream *substream,
else
audio_frames += runtime->delay;
}
- audio_nsecs = div_u64(audio_frames * 1000000000LL,
- runtime->rate);
- *audio_tstamp = ns_to_timespec64(audio_nsecs);
+ snd_pcm_lib_frames_to_timespec64(audio_frames, runtime->rate, audio_tstamp);
}
if (runtime->status->audio_tstamp.tv_sec != audio_tstamp->tv_sec ||
--
2.31.1
2
1
The following changes since commit c1619ea22d9509cfbcf5c2c1cc65563179e9dc8e:
ASoC: SOF: sof-audio: Fixes for widget prepare and (2023-01-18 15:28:17 +0000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v6.3
for you to fetch changes up to 76f5aaabce492aa6991c28c96bb78b00b05d06c5:
ASoC: soc-ac97: Return correct error codes (2023-02-15 16:09:07 +0000)
----------------------------------------------------------------
ASoC: Updates for v6.3
There's been quite a lot of activity this release, but not really
one big feature - lots of new devices, plus a lot of cleanup and
modernisation work spread throughout the subsystem:
- More factoring out of common operations into helper functions
by Morimoto-san.
- DT schema conversons and stylistic nits.
- Continued work on building out the new SOF IPC4 scheme.
- Support for Awinc AT88395, Infineon PEB2466, Iron Device
SMA1303, Mediatek MT8188, Realtek RT712, Renesas IDT821034,
Samsung/Tesla FSD SoC I2S, and TI TAS5720A-Q1.
----------------------------------------------------------------
Ajye Huang (2):
ASoC: mediatek: mt8186-rt5682: primary_codec_init() warn: missing error code? 'ret'
ASoC: nau8315: remove dependency on GPIOLIB
Alexander Stein (2):
ASoC: fsl_sai: Use dev_err_probe
ASoC: imx-hdmi: Use dev_err_probe
Alexander Sverdlin (1):
ASoC: ep93xx: ignore 0 Hz sysclk
Alexandru Ardelean (1):
ASoC: codecs: tas5720: split a tas5720_mute_soc_component() function
Amadeusz Sławiński (18):
ASoC: Intel: avs: Add peakvol runtime-parameter requests
ASoC: Intel: avs: Add control volume operations
ASoC: Intel: avs: Parse control tuples
ASoC: Intel: avs: Peakvol module configuration
ASoC: Intel: avs: Correctly access topology fields
ASoC: Intel: avs: Use min_t instead of min with cast
ASoC: topology: Properly access value coming from topology file
ASoC: topology: Remove unused SOC_TPLG_PASS_PINS constant
ASoC: topology: Fix typo in functions name
ASoC: topology: Fix function name
ASoC: topology: Rename remove_ handlers
ASoC: topology: Remove unnecessary forward declarations
ASoC: topology: Pass correct pointer instead of casting
ASoC: topology: Return an error on complete() failure
ASoC: topology: Remove unnecessary check for EOF
ASoC: topology: Unify kcontrol removal code
ASoC: topology: Use unload() op directly
ASoC: Intel: Skylake: Fix struct definition
Andy Shevchenko (7):
ASoC: Intel: bytcht_cx2072x: Replace open coded acpi_dev_put()
ASoC: Intel: bytcht_da7213: Replace open coded acpi_dev_put()
ASoC: Intel: cht_bsw_rt5645: Replace open coded acpi_dev_put()
ASoC: Intel: cht_bsw_rt5672: Replace open coded acpi_dev_put()
ASoC: Intel: sof-wm8804: Replace open coded acpi_dev_put()
ASoC: soc-ac97: Convert to agnostic GPIO API
ASoC: soc-ac97: Return correct error codes
Arnd Bergmann (4):
ASoC: PXA: make SND_PXA2XX_SOC_AC97 user-selectable
ASoC: ux500: remove platform_data support
ASoC: ux500: remove stedma40 references
ASoC: SOF: fix intel-soundwire link failure
Astrid Rost (3):
ASoC: soc-component: add get_jack_type
ASoC: simple-card-utils: create jack inputs for aux_devs
ASoC: ts3a227e: add set_jack and get_jack_type
Bard Liao (3):
ASoC: SOF: ipc4-topology: add buffer type support
ASoC: SOF: ipc4-topology: use different channel mask for each sdw amp feedback
ASoC: SOF: ipc4-topology: set copier sink format
Brent Lu (1):
ASoC: Intel: sof_ssp_amp: remove unused variable
Cezary Rojewski (2):
ASoC: Intel: avs: Use asoc_substream_to_rtd() to obtain rtd
ASoC: Intel: avs: Simplify probe-component implementation
Chancel Liu (3):
ASoC: dt-bindings: fsl,xcvr: Add compatible string for i.MX93 platform
ASoC: fsl_xcvr: Add support for i.MX93 platform
ASoC: fsl_xcvr: Add constraints of period size while using eDMA
Charles Keepax (2):
ASoC: cs35l45: Remove separate tables module
ASoC: cs35l45: Remove separate namespace for tables
Christophe Branchereau (1):
ASoC: codecs/jz4760: add digital gain controls
Chunxu Li (1):
ASoC: mediatek: mt8186: add AFE_DAC_CON0 to volatile register list
Claudiu Beznea (12):
ASoC: dt-bindings: microchip: use proper naming syntax
ASoC: mchp-pdmc: use runtime pm for clock power saving
ASoC: mchp-pdmc: add support for suspend to RAM
ASoC: mchp-spdiftx: use FIELD_PREP() where possible
ASoC: mchp-spdifrx: fix controls which rely on rsr register
ASoC: mchp-spdifrx: fix return value in case completion times out
ASoC: mchp-spdifrx: fix controls that works with completion mechanism
ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
ASoC: mchp-spdifrx: use unsigned long to store clk_get_rate() value
ASoC: mchp-spdifrx: remove struct mchp_spdifrx_dev::fmt member
ASoC: mchp-spdifrx: add runtime pm support
ASoC: mchp-spdifrx: document data structures
Colin Ian King (2):
ASoC: SMA1303: Fix spelling mistake "Invald" -> "Invalid"
ASoC: codecs: aw88395: Fix spelling mistake "cersion" -> "version"
Dan Carpenter (1):
ASoC: mediatek: mt8188: remove some dead code
Daniel Baluta (4):
ASoC: SOF: Prepare ipc_msg_data to be used with compress API
ASoC: SOF: Prepare set_stream_data_offset for compress API
ASoC: SOF: Add support for compress API for stream data/offset
ASoC: SOF: compress: Set compress data offset
David Rau (1):
ASoC: da7213: Add support for mono, set frame width to 32 when possible
Deepak R Varma (2):
ASoC: imx-pcm-rpmsg: Remove unused variable
ASoC: codecs: wcd934x: Use min macro for comparison and assignment
Emanuele Ghidoli (3):
ASoC: dt-bindings: nau8822: convert to the dtschema
ASoC: nau8822: add speaker Bridge Tied Output configuration
ASoC: dt-bindings: nau8822: add nuvoton,spk-btl property to dtschema
Faiz Abbas (1):
ASoC: dt-bindings: simple-card: Document simple-audio-card,plat
Geert Uytterhoeven (1):
ASoC: dt-bindings: ti,pcm3168a: Convert to json-schema
Herve Codina (6):
ASoC: Add Renesas IDT821034 codec bindings
ASoC: codecs: Add support for the Renesas IDT821034 codec
MAINTAINERS: add the Renesas IDT821034 codec entry
ASoC: dt-bindings: Add the Infineon PEB2466 codec
ASoC: codecs: Add support for the Infineon PEB2466 codec
MAINTAINERS: add the Infineon PEB2466 codec entry
Jai Luthra (2):
dt-bindings: sound: tlv320aic3x: Convert to dtschema
ASoC: tlv320aic3x: Add optional clock and port properties
Jerome Brunet (9):
ASoC: dt-bindings: create component common schema
ASoC: dt-bindings: meson: fix gx-card codec node regex
ASoC: dt-bindings: meson: convert axg tdm interface to schema
ASoC: dt-bindings: meson: convert axg tdm formatters to schema
ASoC: dt-bindings: meson: convert axg pdm to schema
ASoC: dt-bindings: meson: convert axg fifo to schema
ASoC: dt-bindings: meson: convert axg spdif input to schema
ASoC: dt-bindings: meson: convert axg spdif output to schema
ASoC: dt-bindings: meson: convert axg sound card control to schema
Jiapeng Chong (1):
ASoC: codecs: Fix unsigned comparison with less than zero
Judy Hsiao (1):
ASoC: qcom: lpass-platform: Use SNDRV_DMA_TYPE_NONCOHERENT page allocation
Kees Cook (1):
ASoC: kirkwood: Iterate over array indexes instead of using pointer math
Kiseok Jo (7):
ASoC: Modified the schema binding and added the vendor prefixes.
MAINTAINERS: add IRON DEVICE AUDIO CODEC DRIVERS
ASoC: dt-bindings: irondevice,sma1303.yaml: Fix about breaking the checks
ASoC: SMA1303: Remove the I2C Retry property in devicetree
ASoC: SMA1303: Convert the TDM slot properties in devicetree to mixer
ASoC: dt-bindings: irondevice,sma1303: Rework binding and add missing properties
ASoC: SMA1303: Remove the sysclk setting in devicetree
KiseokJo (1):
ASoC: The Iron Device SMA1303 is a boosted Class-D audio amplifier.
Krzysztof Kozlowski (28):
ASoC: dt-bindings: adi,adau7002: Convert to DT schema
ASoC: dt-bindings: cirrus,cs35l41: add interrupts
ASoC: dt-bindings: cirrus,cs35l41: cleanup $ref and example
ASoC: dt-bindings: qcom,lpass-cpu: Document required-opps
ASoC: dt-bindings: qcom,lpass-cpu: Fix DAI children pattern
ASoC: dt-bindings: qcom,lpass-cpu: Correct and constrain clocks, interrupts, reg
ASoC: dt-bindings: simple-card: correct DAI subnodes pattern
ASoC: dt-bindings: qcom,lpass-wsa-macro: correct clocks on SM8250
ASoC: dt-bindings: qcom,lpass-tx-macro: correct clocks on SC7280
ASoC: codecs: wsa883x: Simplify &pdev->dev in probe
ASoC: codecs: wsa881x: Simplify &pdev->dev in probe
ASoC: codecs: wsa881x: Simplify with dev_err_probe
ASoC: codecs: wsa881x: Use proper shutdown GPIO polarity
ASoC: codecs: constify static sdw_slave_ops struct
ASoC: codecs: constify static sdw_port_config struct
ASoC: codecs: wsa88xx: remove unneeded includes
ASoC: dt-bindings: samsung,odroid: correct codec DAI phandles
ASoC: dt-bindings: samsung-i2s: drop unneeded assigned-clock*
ASoC: dt-bindings: qcom,sm8250: use fallback for SDM845 sound cards
ASoC: qcom: sdm845: add remark about unneeded compatibles
ASoC: dt-bindings: renesas,rsnd: simplify list of compatibles
ASoC: dt-bindings: maxim,max98090: Convert to dtschema
ASoC: codecs: max98090: simplify snd_soc_dai_driver
ASoC: dt-bindings: qcom,wsa881x: Allow sound-name-prefix
ASoC: dt-bindings: qcom,wcd934x: Describe slim-ifc-dev
ASoC: dt-bindings: qcom,wcd934x: Allow usage as IFD device
ASoC: dt-bindings: qcom,q6apm-dai: adjust iommus for SM8550 ADSP
ASoC: dt-bindings: maxim,max98095: Convert to dtschema
Kuninori Morimoto (55):
ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
ASoC: dt-bindings: audio-graph-port: use definitions for port/endpoint
ASoC: dt-bindings: audio-graph-port: add definitions/ports
ASoC: dt-bindings: audio-graph-port: add missing mclk-fs
ASoC: dt-bindings: audio-graph-port: add clocks on endpoint
ASoC: dt-bindings: audio-graph-port: remove prefix
ASoC: dt-bindings: ak4613: enable Of-graph (Audio-Graph-Card) style
ASoC: dt-bindings: renesas,rsnd: add missing playback/capture
ASoC: dt-bindings: renesas,rsnd: tidyup rcar_sound,src
ASoC: dt-bindings: renesas,rsnd: #sound-dai-cells is not mandatory
ASoC: dt-bindings: simple-card: add missing #address-cells/#size-cells
ASoC: soc-dai.h: add missing snd_soc_dai_set_widget()
ASoC: soc-dai.h: add snd_soc_dai_dma_data_set/get() for low level
ASoC: soc-dai.h: add snd_soc_dai_tdm_mask_set/get() helper
ASoC: soc-dai.h: add snd_soc_dai_get/set_widget_playback/capture() helper
ASoC: soc.h: add snd_soc_card_is_instantiated() helper
ASoC: hdmi-codec: use helper function
ASoC: hda: use helper function
ASoC: max: use helper function
ASoC: rt: use helper function
ASoC: cirrus: use helper function
ASoC: spear: use helper function
ASoC: sdw-mockup: use helper function
ASoC: intel: use helper function
ASoC: mediatek: use helper function
ASoC: meson: use helper function
ASoC: rockchip: use helper function
ASoC: sof: use helper function
ASoC: tegra: use helper function
ASoC: ti: use helper function
ASoC: soc-core.c: use helper function
ASoC: soc-dapm.c: use helper function
ASoC: soc-dai.c: use helper function
ASoC: soc-pcm.c: use helper function
ASoC: soc-topology.c: use helper function
ASoC: soc-dai.h: cleanup Playback/Capture data for snd_soc_dai
ASoC: cs42l42: use helper function
ASoC: rsnd: check whether playback/capture property exists
ASoC: rsnd: fixup #endif position
ASoC: rsnd: Remove unnecessary rsnd_dbg_dai_call()
ASoC: rsnd: indicate necessary error when clock start failed
ASoC: rsnd: indicate warning once if it can't handle requested rule
ASoC: rsnd: use same debug message format on clkout
ASoC: rsnd: remove unnecessary ADG flags
ASoC: rsnd: rename clk to clkin
ASoC: rsnd: moves clkout_name to top of the file
ASoC: rsnd: use clkin/out_size
ASoC: rsnd: use array for 44.1kHz/48kHz rate handling
ASoC: rsnd: tidyup rsnd_dma_addr()
ASoC: rsnd: dma.c: tidyup rsnd_dma_probe()
ASoC: dt-bindings: renesas: add R8A779G0 V4H
ASoC: rsnd: add R-Car Gen4 Sound support
ASoC: dt-bindings: renesas,rsnd.yaml: tidyup reg/reg-name
ASoC: rsnd: core.c: indicate warning if strange TDM width was set
ASoC: dt-bindings: renesas,rsnd.yaml: drop "dmas/dma-names" from "rcar_sound,ssi"
Luca Ceresoli (1):
ASoC: fsl-asoc-card: constify fsl_asoc_card_dai
Lucas Tanure (1):
ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
Lukasz Majewski (3):
ASoC: wm8940: Remove warning when no plat data present
ASoC: wm8940: Rewrite code to set proper clocks
ASoC: wm8940: Read chip ID when wm8940 codec probing
Marek Vasut (1):
ASoC: dt-bindings: fsl-sai: Simplify the VFxxx dmas binding
Mario Limonciello (6):
ASoC: amd: yc: Adjust the gain for PDM DMIC
ASoC: amd: yc: Add a module parameter to influence pdm_gain
ASoC: amd: renoir: Adjust the gain for PDM DMIC
ASoC: amd: renoir: Add a module parameter to influence pdm_gain
ASoC: amd: ps: Adjust the gain for PDM DMIC
ASoC: amd: ps: Add a module parameter to influence pdm_gain
Mark Brown (31):
Add support for DSP volume controls
ASoC: Drop empty platform remove functions
ASoC: SOF: Extend the IPC ops optionality
ASoC: microchip: power saving features and cleanups
Add support for XCVR on i.MX93 platform
ASoC: nau8822: add speaker Bridge Tied Output
ASoC: fsl-asoc-card: Log error code when we fail to register
Add support of MediaTek mt8188 to SOF
Add tdm support in acp machine driver
Fixes for avs driver
ASoC: samsung: fsd: audio support for FSD SoC
ASoC: Merge up 6.2 fixes
Add support to compress API to ipc_msg_data /
ASoC: mediatek: Add support for MT8188 SoC
Update lpass dt-bindings
ASoC: simple-card-utils: create jack inputs for
ASoC: SOF: ipc4: Multi-stream playback and capture support
ASoC: dt-bindings: audio-graph-port related update
ASoC: topology: Fixes and cleanups
Add the Renesas IDT821034 codec support
ASoC: codecs: Add Awinic AW88395 audio amplifier
ASoC: mchp-spdifrx: add runtime PM support and fixes
ASoC: use helper function and cleanup
ASoC: cs42l42: Add SoundWire support
Fix default DMIC gain on AMD PDM drivers
ASoC: (SOF) topology: Regression fixes for next
ASoC: SOF: core/ipc4/mtl: Add support for PCM delay
Add the Infineon PEB2466 codec support
ASoC: SOF: ipc4-topology: Configure copier sink format
ASoC: qcom: q6dsp and lpass codec stablity fixes
ASoC: SOF: Intel/ipc4: Support for low power playback
Matthias Kaehlcke (1):
SoC: rt5682s: Disable jack detection interrupt during suspend
Nathan Chancellor (2):
ASoC: amd: ps: Fix uninitialized ret in create_acp64_platform_devs()
ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
Ondrej Jirman (2):
ASoC: rt5640: Allow configuration of LOUT to mono differential mode
ASoC: rt5640: Allow to describe how LOUT is wired
Padmanabhan Rajanbabu (2):
ASoC: dt-bindings: Add FSD I2S controller bindings
ASoC: samsung: i2s: add support for FSD I2S
Peter Ujfalusi (17):
ASoC: SOF: sof-audio: Treat tplg_ops->route_setup() as optional
ASoC: SOF: sof-audio: Update documentation for sof_ipc_tplg_ops
ASoC: SOF: Add helper macro to be used to get an IPC ops
ASoC: SOF: pcm: Extend the optionality of IPC ops to IPC as well
ASoC: SOF: control: Extend the optionality of IPC ops to IPC as well
ASoC: SOF: sof-audio: Extend the optionality of IPC ops to IPC as well
ASoC: SOF: topology: Extend the optionality of IPC ops to IPC as well
ASoC: SOF: pm: Extend the optionality of IPC ops to IPC as well
ASoC: SOF: sof-priv: Mark fw_tracing ops optional in documentation
ASoC: SOF: trace: Use sof_ipc_get_ops() in sof_fw_trace_init
ASoC: SOF: trace: No need to check for op pointer in sof_fw_trace_free()
ASoC: SOF: core: Print out the value of sof_debug if it is set
ASoC: SOF: Avoid double decrementing use_count in sof_widget_setup on error
ASoC: SOF: Protect swidget->use_count with mutex for kcontrol access race
ASoC: SOF: ipc4-pcm: Do not run the trigger pipelines if no spipe is stored
ASoC: SOF: topology: Add missed "else" in sof_connect_dai_widget
ASoC: topology: Set correct unload callback for graph type
Pierre-Louis Bossart (1):
ASoC: amd: ps: use static function
Rander Wang (14):
ASoC: SOF: add ipc4_fw_reg header file
ASoC: SOF: add fw_info_box support
ASoC: SOF: add time info structure for ipc4 path
ASoC: SOF: ipc4-pcm: allocate time info for pcm delay feature
ASoC: SOF: ipc4-pcm: add hw_params
ASoC: SOF: add delay function support in sof framework
ASoC: SOF: add get_stream_position ops for pcm delay
ASoC: SOF: Intel: mtl: add get_stream_position support
ASoC: SOF: ipc4-pcm: add delay function support
ASoC: SOF: Introduce a new set_pm_gate() IPC PM op
ASoC: SOF: Intel: hda-dsp: use set_pm_gate according to ipc version
ASoC: SOF: ipc4: Wake up dsp core before sending ipc msg
ASoC: SOF: Intel: Enable d0i3 work for ipc4
ASoC: SOF: Intel: hda-dsp: Set streaming flag for d0i3
Randy Dunlap (1):
ASoC: Kconfig: fix spelling of "up to"
Ranjani Sridharan (16):
ASoC: SOF: ipc4-topology: No need to unbind routes within a pipeline
ASoC: soc-pcm: Export widget_in_list()
ASoC: SOF: sof-audio: Set up/free DAI/AIF widgets only once
ASoC: SOF: sof-audio: Only process widgets in the connected widget list
ASoC: SOF: pcm: do not free widgets during suspend trigger
ASoC: SOF: topology: Set IPC-specific trigger order for DAI links
ASoC: SOF: Introduce PCM setup/free PCM IPC ops
ASoC: SOF: ipc4-pcm: Define pcm_setup/free ops
ASoC: SOF: ipc4: Add flag to skip triggering pipelines during FE DAI trigger
ASoC: SOF: sof-audio: Populate the PCM stream pipeline_info
ASoC: SOF: ipc4-pcm: Use the PCM stream's pipeline_info during trigger
ASoC: SOF: Introduce struct snd_sof_pipeline
ASoC: SOF: ipc4-pcm: Rename 'data' variable to trigger_list
ASoC: SOF: ipc4-pcm: Implement pipeline trigger reference counting
ASoC: SOF: ipc4-topology: Protect pipeline free with mutex
ASoC: SOF: ipc4-topology: Print queue IDs in error
Richard Fitzgerald (6):
ASoC: cs42l42: Add SOFT_RESET_REBOOT register
ASoC: cs42l42: Ensure MCLKint is a multiple of the sample rate
ASoC: cs42l42: Separate ASP config from PLL config
ASoC: cs42l42: Export some functions for SoundWire
ASoC: cs42l42: Add SoundWire support
ASoC: cs42l42: Don't set idle_bias_on
Sameer Pujar (1):
ASoC: rt5640: Update MCLK rate in set_sysclk()
Seppo Ingalsuo (1):
ASoC: SOF: IPC3 topology: Print the conflicting bytes sizes
Shengjiu Wang (1):
ASoC: fsl_sai: initialize is_dsp_mode flag
Shuming Fan (3):
ASoC: rt711-sdca: add jack detection mode for JD2 100K
ASoC: rt712-sdca: Add RT712 SDCA driver for Jack and Amp topology
ASoC: rt712-sdca: fix coding style and unconditionally return issues
Srinivas Kandagatla (8):
ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared
ASoC: qcom: q6apm-dai: fix race condition while updating the position pointer
ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag
ASoC: qcom: audioreach: fix ADSP ready check
ASoC: codecs: lpass: register mclk after runtime pm
ASoC: codecs: lpass: fix incorrect mclk rate
ASoC: codecs: lpass: do not reset soundwire block on clk enable
ASoC: codecs: lpass: remove not so useful verbose log
Srinivasa Rao Mandadapu (3):
ASoC: qdsp6: audioreach: Add ADSP ready check
ASoC: qcom: dt-bindings: lpass-va-macro: Update clock name
ASoC: dt-bindings: google,sc7280-herobrine: Add platform property
Stefan Binding (2):
soundwire: stream: Add specific prep/deprep commands to port_prep callback
ASoC: cs42l42: Wait for debounce interval after resume
Steffen Aschbacher (5):
ASoC: codecs: tas5720: add support for TAS5720A-Q1 (automotive) variant
ASoC: tas5720: set bit 7 in ANALOG_CTRL_REG for TAS5720A-Q1 during probe
ASoC: dt-bindings: add entry for TAS5720A-Q1 driver
ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
ASoC: tlv320adcx140: extend list of supported samplerates
Tinghan Shen (3):
dt-bindings: dsp: mediatek: Add mt8188 dsp compatible
ASoC: SOF: mediatek: Support mt8188 platform
ASoC: SOF: mediatek: Provide debugfs_add_region_item ops for core
Tom Rix (1):
ASoC: codecs: aw88395: initialize cur_scene_id to 0
Trevor Wu (14):
ASoC: mediatek: common: add SMC ops and SMC CMD
ASoC: mediatek: mt8188: add common header
ASoC: mediatek: mt8188: support audsys clock
ASoC: mediatek: mt8188: support adda in platform driver
ASoC: mediatek: mt8188: support etdm in platform driver
ASoC: mediatek: mt8188: support pcmif in platform driver
ASoC: mediatek: mt8188: support audio clock control
ASoC: mediatek: mt8188: add platform driver
ASoC: mediatek: mt8188: add control for timing select
ASoC: dt-bindings: mediatek,mt8188-afe: add audio afe document
ASoC: mediatek: common: add soundcard driver common code
ASoC: mediatek: mt8188: add machine driver with mt6359
ASoC: dt-bindings: mediatek,mt8188-mt6359: add mt8188-mt6359 document
ASoC: mediatek: mt8188: remove etdm dead code
Uwe Kleine-König (17):
ASoC: pxa: Drop empty platform remove function
ASoC: amd: Drop empty platform remove function
ASoC: atmel-classd: Drop empty platform remove function
ASoC: atmel-pdmic: Drop empty platform remove function
ASoC: 88pm860x: Drop empty platform remove function
ASoC: ac97: Drop empty platform remove function
ASoC: adau7002: Drop empty platform remove function
ASoC: bt-sco: Drop empty platform remove function
ASoC: cq93vc: Drop empty platform remove function
ASoC: mc13783: Drop empty platform remove function
ASoC: wl1273: Drop empty platform remove function
ASoC: pxa: e740_wm9705: Drop empty platform remove function
ASoC: pxa: e750_wm9705: Drop empty platform remove function
ASoC: pxa: e800_wm9712: Drop empty platform remove function
ASoC: SOF: nocodec: Drop empty platform remove function
ASoC: pxa: Drop empty platform remove function
ASoC: sma1303: Convert to i2c's .probe_new()
V sujith kumar Reddy (1):
ASoC: SOF: amd: Enable cache for AMD Rembrandt platform
Venkata Prasad Potturu (6):
ASoC: amd: acp: Add new cpu dai's in machine driver
ASoC: amd: acp: Refactor dai format implementation
ASoC: amd: acp: Refactor i2s clocks programming sequence
ASoC: amd: acp: Add i2s tdm support in machine driver
ASoC: amd: acp: Enable i2s tdm support for skyrim platforms
ASoC: amd: acp: Refactor bit width calculation
Vijendar Mukunda (8):
ASoC: amd: ps: implement api to retrieve acp device config
ASoC: amd: ps: refactor platform device creation logic
ASoC: amd: ps: update dev index value in irq handler
ASoC: amd: ps: move irq handler registration
ASoC: amd: ps: add mutex lock for accessing common registers
ASoC: amd: ps: use acp_lock to protect common registers in pdm driver
ASoC: amd: ps: remove unused variable
ASoC: amd: update ps platform acp header file
Weidong Wang (8):
ASoC: codecs: Add i2c and codec registration for aw88395 and their associated operation functions
ASoC: codecs: ACF bin parsing and check library file for aw88395
ASoC: codecs: Aw88395 function for ALSA Audio Driver
ASoC: codecs: Aw88395 chip register file, data type file and Kconfig Makefile
ASoC: dt-bindings: Add schema for "awinic,aw88395"
ASoC: codecs: Fixed a spelling error in the function name
ASoC: codecs: Modify the log print statement
ASoC: codecs: Modify error implicit declaration of function 'gpiod_set_value_cansleep'
YC Hung (1):
ASoC: SOF: mediatek: mt8195: remove a redundant comparison of sram
Yang Li (2):
ASoC: codecs: fix platform_no_drv_owner.cocci warning
ASoC: codecs: Remove unneeded semicolon
Yassine Oudjana (1):
ASoC: qcom: apq8096: set driver name correctly
강신형 (1):
ASoC: soc-compress: Reposition and add pcm_mutex
.../bindings/dsp/mediatek,mt8186-dsp.yaml | 4 +-
.../devicetree/bindings/sound/adi,adau7002.txt | 19 -
.../devicetree/bindings/sound/adi,adau7002.yaml | 40 +
.../devicetree/bindings/sound/ak4613.yaml | 7 +
.../devicetree/bindings/sound/amlogic,axg-fifo.txt | 34 -
.../bindings/sound/amlogic,axg-fifo.yaml | 112 +
.../devicetree/bindings/sound/amlogic,axg-pdm.txt | 29 -
.../devicetree/bindings/sound/amlogic,axg-pdm.yaml | 82 +
.../bindings/sound/amlogic,axg-sound-card.txt | 124 -
.../bindings/sound/amlogic,axg-sound-card.yaml | 183 ++
.../bindings/sound/amlogic,axg-spdifin.txt | 27 -
.../bindings/sound/amlogic,axg-spdifin.yaml | 86 +
.../bindings/sound/amlogic,axg-spdifout.txt | 25 -
.../bindings/sound/amlogic,axg-spdifout.yaml | 79 +
.../bindings/sound/amlogic,axg-tdm-formatters.txt | 36 -
.../bindings/sound/amlogic,axg-tdm-formatters.yaml | 88 +
.../bindings/sound/amlogic,axg-tdm-iface.txt | 22 -
.../bindings/sound/amlogic,axg-tdm-iface.yaml | 55 +
.../bindings/sound/amlogic,gx-sound-card.yaml | 2 +-
.../bindings/sound/audio-graph-port.yaml | 65 +-
.../devicetree/bindings/sound/awinic,aw88395.yaml | 53 +
.../devicetree/bindings/sound/cirrus,cs35l41.yaml | 43 +-
.../bindings/sound/component-common.yaml | 21 +
.../devicetree/bindings/sound/dai-common.yaml | 11 +-
.../devicetree/bindings/sound/fsl,sai.yaml | 38 +-
.../devicetree/bindings/sound/fsl,xcvr.yaml | 1 +
.../bindings/sound/google,sc7280-herobrine.yaml | 12 +
.../bindings/sound/infineon,peb2466.yaml | 91 +
.../bindings/sound/irondevice,sma1303.yaml | 48 +
.../devicetree/bindings/sound/max98090.txt | 59 -
.../devicetree/bindings/sound/max98095.txt | 22 -
.../devicetree/bindings/sound/maxim,max98090.yaml | 84 +
.../devicetree/bindings/sound/maxim,max98095.yaml | 54 +
.../bindings/sound/mediatek,mt8188-afe.yaml | 208 ++
.../bindings/sound/mediatek,mt8188-mt6359.yaml | 97 +
...,i2s-mcc.yaml => microchip,sama7g5-i2smcc.yaml} | 2 +-
...ochip,pdmc.yaml => microchip,sama7g5-pdmc.yaml} | 2 +-
...spdifrx.yaml => microchip,sama7g5-spdifrx.yaml} | 2 +-
...spdiftx.yaml => microchip,sama7g5-spdiftx.yaml} | 2 +-
.../devicetree/bindings/sound/nau8822.txt | 16 -
.../devicetree/bindings/sound/nuvoton,nau8822.yaml | 46 +
.../devicetree/bindings/sound/qcom,lpass-cpu.yaml | 136 +-
.../bindings/sound/qcom,lpass-va-macro.yaml | 4 +-
.../devicetree/bindings/sound/qcom,q6apm-dai.yaml | 3 +-
.../devicetree/bindings/sound/qcom,sm8250.yaml | 24 +-
.../devicetree/bindings/sound/qcom,wcd934x.yaml | 62 +-
.../devicetree/bindings/sound/qcom,wsa881x.yaml | 5 +-
.../bindings/sound/renesas,idt821034.yaml | 75 +
.../devicetree/bindings/sound/renesas,rsnd.yaml | 59 +-
Documentation/devicetree/bindings/sound/rt5640.txt | 3 +
.../devicetree/bindings/sound/samsung,odroid.yaml | 3 +-
.../devicetree/bindings/sound/samsung-i2s.yaml | 11 +-
.../devicetree/bindings/sound/simple-card.yaml | 18 +-
.../devicetree/bindings/sound/tas5720.txt | 2 +
.../devicetree/bindings/sound/ti,pcm3168a.txt | 56 -
.../devicetree/bindings/sound/ti,pcm3168a.yaml | 107 +
.../devicetree/bindings/sound/ti,tlv320aic3x.yaml | 165 +
.../devicetree/bindings/sound/tlv320aic3x.txt | 97 -
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 21 +
drivers/soundwire/stream.c | 4 +-
include/linux/platform_data/asoc-ux500-msp.h | 20 -
include/linux/soundwire/sdw.h | 8 +-
include/sound/acp63_chip_offset_byte.h | 751 ++---
include/sound/cs42l42.h | 5 +
include/sound/simple_card_utils.h | 3 +
include/sound/soc-component.h | 2 +
include/sound/soc-dai.h | 90 +-
include/sound/soc-dapm.h | 1 +
include/sound/soc-dpcm.h | 2 +
include/sound/soc-topology.h | 2 +-
include/sound/soc.h | 6 +
include/sound/sof/ipc4/header.h | 3 +
include/uapi/sound/intel/avs/tokens.h | 4 +
sound/soc/amd/acp/acp-legacy-mach.c | 13 +
sound/soc/amd/acp/acp-mach-common.c | 465 ++-
sound/soc/amd/acp/acp-mach.h | 4 +
sound/soc/amd/acp/acp-sof-mach.c | 14 +
sound/soc/amd/ps/acp63.h | 14 +-
sound/soc/amd/ps/pci-ps.c | 211 +-
sound/soc/amd/ps/ps-pdm-dma.c | 40 +-
sound/soc/amd/raven/acp3x-i2s.c | 8 -
sound/soc/amd/renoir/acp3x-pdm-dma.c | 8 +-
sound/soc/amd/renoir/rn_acp3x.h | 2 +-
sound/soc/amd/yc/acp6x-pdm-dma.c | 8 +-
sound/soc/amd/yc/acp6x.h | 2 +-
sound/soc/atmel/atmel-classd.c | 6 -
sound/soc/atmel/atmel-pdmic.c | 6 -
sound/soc/atmel/mchp-pdmc.c | 145 +-
sound/soc/atmel/mchp-spdifrx.c | 554 +++-
sound/soc/atmel/mchp-spdiftx.c | 8 +-
sound/soc/cirrus/ep93xx-ac97.c | 4 +-
sound/soc/cirrus/ep93xx-i2s.c | 6 +-
sound/soc/codecs/88pm860x-codec.c | 6 -
sound/soc/codecs/Kconfig | 69 +-
sound/soc/codecs/Makefile | 19 +-
sound/soc/codecs/ac97.c | 6 -
sound/soc/codecs/adau7002.c | 6 -
sound/soc/codecs/aw88395/aw88395.c | 579 ++++
sound/soc/codecs/aw88395/aw88395.h | 58 +
sound/soc/codecs/aw88395/aw88395_data_type.h | 142 +
sound/soc/codecs/aw88395/aw88395_device.c | 1748 ++++++++++
sound/soc/codecs/aw88395/aw88395_device.h | 194 ++
sound/soc/codecs/aw88395/aw88395_lib.c | 1066 +++++++
sound/soc/codecs/aw88395/aw88395_lib.h | 92 +
sound/soc/codecs/aw88395/aw88395_reg.h | 383 +++
sound/soc/codecs/bt-sco.c | 6 -
sound/soc/codecs/cq93vc.c | 6 -
sound/soc/codecs/cs35l45-i2c.c | 1 -
sound/soc/codecs/cs35l45-spi.c | 1 -
sound/soc/codecs/cs35l45-tables.c | 12 +-
sound/soc/codecs/cs35l45.c | 1 -
sound/soc/codecs/cs42l42-sdw.c | 607 ++++
sound/soc/codecs/cs42l42.c | 133 +-
sound/soc/codecs/cs42l42.h | 9 +-
sound/soc/codecs/da7213.c | 30 +-
sound/soc/codecs/da7213.h | 3 +
sound/soc/codecs/hda.c | 7 +-
sound/soc/codecs/hdmi-codec.c | 11 +-
sound/soc/codecs/idt821034.c | 1178 +++++++
sound/soc/codecs/jz4760.c | 9 +
sound/soc/codecs/lpass-rx-macro.c | 31 +-
sound/soc/codecs/lpass-tx-macro.c | 25 +-
sound/soc/codecs/lpass-va-macro.c | 43 +-
sound/soc/codecs/lpass-wsa-macro.c | 27 +-
sound/soc/codecs/max98090.c | 8 +-
sound/soc/codecs/max98373-sdw.c | 5 +-
sound/soc/codecs/mc13783.c | 6 -
sound/soc/codecs/nau8822.c | 9 +
sound/soc/codecs/nau8822.h | 9 +
sound/soc/codecs/peb2466.c | 2071 ++++++++++++
sound/soc/codecs/rt1308-sdw.c | 5 +-
sound/soc/codecs/rt1316-sdw.c | 7 +-
sound/soc/codecs/rt1318-sdw.c | 7 +-
sound/soc/codecs/rt5640.c | 9 +
sound/soc/codecs/rt5640.h | 2 +
sound/soc/codecs/rt5645.c | 2 +-
sound/soc/codecs/rt5665.c | 4 +-
sound/soc/codecs/rt5668.c | 4 +-
sound/soc/codecs/rt5682-sdw.c | 5 +-
sound/soc/codecs/rt5682.c | 4 +-
sound/soc/codecs/rt5682s.c | 14 +-
sound/soc/codecs/rt5682s.h | 1 +
sound/soc/codecs/rt700.c | 7 +-
sound/soc/codecs/rt711-sdca-sdw.c | 2 +-
sound/soc/codecs/rt711-sdca.c | 22 +-
sound/soc/codecs/rt711-sdca.h | 8 +-
sound/soc/codecs/rt711.c | 7 +-
sound/soc/codecs/rt712-sdca-sdw.c | 485 +++
sound/soc/codecs/rt712-sdca-sdw.h | 108 +
sound/soc/codecs/rt712-sdca.c | 1340 ++++++++
sound/soc/codecs/rt712-sdca.h | 220 ++
sound/soc/codecs/rt715-sdca-sdw.c | 2 +-
sound/soc/codecs/rt715-sdca.c | 5 +-
sound/soc/codecs/rt715.c | 5 +-
sound/soc/codecs/sdw-mockup.c | 5 +-
sound/soc/codecs/sma1303.c | 1820 +++++++++++
sound/soc/codecs/sma1303.h | 609 ++++
sound/soc/codecs/tas5720.c | 128 +-
sound/soc/codecs/tas5720.h | 16 +-
sound/soc/codecs/tlv320adcx140.c | 2 +-
sound/soc/codecs/tlv320adcx140.h | 4 +-
sound/soc/codecs/ts3a227e.c | 20 +-
sound/soc/codecs/wcd934x.c | 10 +-
sound/soc/codecs/wcd938x-sdw.c | 2 +-
sound/soc/codecs/wl1273.c | 6 -
sound/soc/codecs/wm8940.c | 116 +-
sound/soc/codecs/wm8940.h | 3 +
sound/soc/codecs/wsa881x.c | 63 +-
sound/soc/codecs/wsa883x.c | 22 +-
sound/soc/fsl/fsl-asoc-card.c | 4 +-
sound/soc/fsl/fsl_sai.c | 6 +-
sound/soc/fsl/fsl_xcvr.c | 155 +-
sound/soc/fsl/fsl_xcvr.h | 7 +
sound/soc/fsl/imx-hdmi.c | 2 +-
sound/soc/fsl/imx-pcm-rpmsg.c | 6 +-
sound/soc/generic/simple-card-utils.c | 49 +
sound/soc/generic/simple-card.c | 4 +
sound/soc/intel/atom/sst-atom-controls.c | 9 +-
sound/soc/intel/avs/Makefile | 2 +-
sound/soc/intel/avs/boards/nau8825.c | 5 +-
sound/soc/intel/avs/boards/rt286.c | 2 +-
sound/soc/intel/avs/boards/rt298.c | 2 +-
sound/soc/intel/avs/control.c | 105 +
sound/soc/intel/avs/control.h | 23 +
sound/soc/intel/avs/messages.c | 29 +
sound/soc/intel/avs/messages.h | 33 +
sound/soc/intel/avs/path.c | 62 +
sound/soc/intel/avs/pcm.c | 45 +-
sound/soc/intel/avs/probes.c | 23 -
sound/soc/intel/avs/topology.c | 76 +
sound/soc/intel/avs/topology.h | 3 +
sound/soc/intel/avs/trace.c | 2 +-
sound/soc/intel/boards/bytcht_cx2072x.c | 2 +-
sound/soc/intel/boards/bytcht_da7213.c | 2 +-
sound/soc/intel/boards/cht_bsw_rt5645.c | 2 +-
sound/soc/intel/boards/cht_bsw_rt5672.c | 2 +-
sound/soc/intel/boards/sof_ssp_amp.c | 4 -
sound/soc/intel/boards/sof_wm8804.c | 2 +-
sound/soc/intel/skylake/skl-messages.c | 2 +-
sound/soc/intel/skylake/skl-topology.c | 19 +-
sound/soc/intel/skylake/skl-topology.h | 5 +-
sound/soc/kirkwood/kirkwood-dma.c | 2 +-
sound/soc/mediatek/Kconfig | 23 +
sound/soc/mediatek/Makefile | 1 +
sound/soc/mediatek/common/Makefile | 2 +-
sound/soc/mediatek/common/mtk-base-afe.h | 19 +
sound/soc/mediatek/common/mtk-dsp-sof-common.c | 18 +-
sound/soc/mediatek/common/mtk-soundcard-driver.c | 79 +
sound/soc/mediatek/common/mtk-soundcard-driver.h | 14 +
sound/soc/mediatek/mt6797/mt6797-dai-pcm.c | 8 +-
sound/soc/mediatek/mt8183/mt8183-dai-pcm.c | 7 +-
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 1 +
sound/soc/mediatek/mt8186/mt8186-dai-pcm.c | 7 +-
.../mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c | 2 +-
sound/soc/mediatek/mt8188/Makefile | 15 +
sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 658 ++++
sound/soc/mediatek/mt8188/mt8188-afe-clk.h | 115 +
sound/soc/mediatek/mt8188/mt8188-afe-common.h | 151 +
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 3358 ++++++++++++++++++++
sound/soc/mediatek/mt8188/mt8188-audsys-clk.c | 205 ++
sound/soc/mediatek/mt8188/mt8188-audsys-clk.h | 15 +
sound/soc/mediatek/mt8188/mt8188-audsys-clkid.h | 83 +
sound/soc/mediatek/mt8188/mt8188-dai-adda.c | 632 ++++
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c | 2573 +++++++++++++++
sound/soc/mediatek/mt8188/mt8188-dai-pcm.c | 368 +++
sound/soc/mediatek/mt8188/mt8188-mt6359.c | 785 +++++
sound/soc/mediatek/mt8188/mt8188-reg.h | 3180 ++++++++++++++++++
sound/soc/mediatek/mt8192/mt8192-dai-pcm.c | 8 +-
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c | 7 +-
sound/soc/meson/aiu-fifo-i2s.c | 4 +-
sound/soc/meson/aiu-fifo-spdif.c | 2 +-
sound/soc/meson/aiu-fifo.c | 21 +-
sound/soc/meson/axg-tdm-interface.c | 34 +-
sound/soc/meson/axg-tdmin.c | 2 +-
sound/soc/meson/axg-tdmout.c | 2 +-
sound/soc/meson/meson-codec-glue.c | 8 +-
sound/soc/pxa/Kconfig | 5 +-
sound/soc/pxa/e740_wm9705.c | 6 -
sound/soc/pxa/e750_wm9705.c | 6 -
sound/soc/pxa/e800_wm9712.c | 6 -
sound/soc/pxa/spitz.c | 6 -
sound/soc/qcom/apq8096.c | 1 +
sound/soc/qcom/lpass-platform.c | 2 +-
sound/soc/qcom/qdsp6/q6apm-dai.c | 22 +-
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 5 +
sound/soc/qcom/qdsp6/q6apm.c | 14 +
sound/soc/qcom/qdsp6/q6apm.h | 2 +
sound/soc/qcom/qdsp6/q6prm.c | 4 +
sound/soc/qcom/sdm845.c | 1 +
sound/soc/rockchip/Kconfig | 2 +-
sound/soc/rockchip/rockchip_i2s_tdm.c | 4 +-
sound/soc/rockchip/rockchip_pdm.c | 2 +-
sound/soc/rockchip/rockchip_spdif.c | 2 +-
sound/soc/samsung/i2s-regs.h | 1 +
sound/soc/samsung/i2s.c | 53 +
sound/soc/sh/rcar/adg.c | 169 +-
sound/soc/sh/rcar/core.c | 73 +-
sound/soc/sh/rcar/dma.c | 57 +-
sound/soc/sh/rcar/gen.c | 70 +
sound/soc/sh/rcar/rsnd.h | 23 +-
sound/soc/sh/rcar/ssi.c | 13 +-
sound/soc/sh/rcar/ssiu.c | 15 +-
sound/soc/soc-ac97.c | 68 +-
sound/soc/soc-component.c | 20 +
sound/soc/soc-compress.c | 11 +-
sound/soc/soc-core.c | 8 +-
sound/soc/soc-dai.c | 13 +-
sound/soc/soc-dapm.c | 26 +-
sound/soc/soc-pcm.c | 15 +-
sound/soc/soc-topology.c | 187 +-
sound/soc/sof/amd/acp-dsp-offset.h | 4 +
sound/soc/sof/amd/acp-ipc.c | 8 +-
sound/soc/sof/amd/acp-loader.c | 7 +
sound/soc/sof/amd/acp.h | 7 +-
sound/soc/sof/compress.c | 9 +
sound/soc/sof/control.c | 44 +-
sound/soc/sof/core.c | 4 +
sound/soc/sof/intel/Kconfig | 4 +-
sound/soc/sof/intel/cnl.c | 2 +
sound/soc/sof/intel/hda-dai.c | 92 +-
sound/soc/sof/intel/hda-dsp.c | 46 +-
sound/soc/sof/intel/hda-ipc.c | 36 +-
sound/soc/sof/intel/hda.h | 6 +-
sound/soc/sof/intel/mtl.c | 16 +
sound/soc/sof/intel/mtl.h | 6 +
sound/soc/sof/ipc3-control.c | 46 +-
sound/soc/sof/ipc3-pcm.c | 3 +-
sound/soc/sof/ipc3-topology.c | 39 +-
sound/soc/sof/ipc3.c | 22 +-
sound/soc/sof/ipc4-control.c | 33 +-
sound/soc/sof/ipc4-fw-reg.h | 155 +
sound/soc/sof/ipc4-pcm.c | 573 +++-
sound/soc/sof/ipc4-priv.h | 17 +
sound/soc/sof/ipc4-topology.c | 212 +-
sound/soc/sof/ipc4-topology.h | 60 +
sound/soc/sof/ipc4.c | 29 +
sound/soc/sof/mediatek/mt8186/mt8186.c | 22 +-
sound/soc/sof/mediatek/mt8186/mt8186.h | 10 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 8 +-
sound/soc/sof/mediatek/mt8195/mt8195.h | 2 -
sound/soc/sof/nocodec.c | 6 -
sound/soc/sof/ops.h | 18 +-
sound/soc/sof/pcm.c | 36 +-
sound/soc/sof/pm.c | 12 +-
sound/soc/sof/sof-audio.c | 281 +-
sound/soc/sof/sof-audio.h | 67 +-
sound/soc/sof/sof-priv.h | 30 +-
sound/soc/sof/stream-ipc.c | 53 +-
sound/soc/sof/topology.c | 309 +-
sound/soc/sof/trace.c | 8 +-
sound/soc/spear/spdif_out.c | 3 +-
sound/soc/tegra/Kconfig | 4 +-
sound/soc/tegra/tegra20_ac97.c | 4 +-
sound/soc/tegra/tegra20_i2s.c | 4 +-
sound/soc/tegra/tegra20_spdif.c | 3 +-
sound/soc/tegra/tegra210_admaif.c | 4 +-
sound/soc/tegra/tegra30_i2s.c | 4 +-
sound/soc/ti/davinci-i2s.c | 5 +-
sound/soc/ti/davinci-mcasp.c | 5 +-
sound/soc/ti/davinci-vcif.c | 5 +-
sound/soc/ux500/mop500.c | 8 +-
sound/soc/ux500/ux500_msp_dai.c | 37 +-
sound/soc/ux500/ux500_msp_i2s.c | 66 +-
sound/soc/ux500/ux500_msp_i2s.h | 14 +-
sound/soc/ux500/ux500_pcm.c | 83 +-
326 files changed, 32241 insertions(+), 3385 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/adi,adau7002.txt
create mode 100644 Documentation/devicetree/bindings/sound/adi,adau7002.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml
create mode 100644 Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
create mode 100644 Documentation/devicetree/bindings/sound/component-common.yaml
create mode 100644 Documentation/devicetree/bindings/sound/infineon,peb2466.yaml
create mode 100644 Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/max98090.txt
delete mode 100644 Documentation/devicetree/bindings/sound/max98095.txt
create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98090.yaml
create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98095.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
rename Documentation/devicetree/bindings/sound/{mchp,i2s-mcc.yaml => microchip,sama7g5-i2smcc.yaml} (97%)
rename Documentation/devicetree/bindings/sound/{microchip,pdmc.yaml => microchip,sama7g5-pdmc.yaml} (97%)
rename Documentation/devicetree/bindings/sound/{mchp,spdifrx.yaml => microchip,sama7g5-spdifrx.yaml} (95%)
rename Documentation/devicetree/bindings/sound/{mchp,spdiftx.yaml => microchip,sama7g5-spdiftx.yaml} (95%)
delete mode 100644 Documentation/devicetree/bindings/sound/nau8822.txt
create mode 100644 Documentation/devicetree/bindings/sound/nuvoton,nau8822.yaml
create mode 100644 Documentation/devicetree/bindings/sound/renesas,idt821034.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/ti,pcm3168a.txt
create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
create mode 100644 Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/tlv320aic3x.txt
delete mode 100644 include/linux/platform_data/asoc-ux500-msp.h
create mode 100644 sound/soc/codecs/aw88395/aw88395.c
create mode 100644 sound/soc/codecs/aw88395/aw88395.h
create mode 100644 sound/soc/codecs/aw88395/aw88395_data_type.h
create mode 100644 sound/soc/codecs/aw88395/aw88395_device.c
create mode 100644 sound/soc/codecs/aw88395/aw88395_device.h
create mode 100644 sound/soc/codecs/aw88395/aw88395_lib.c
create mode 100644 sound/soc/codecs/aw88395/aw88395_lib.h
create mode 100644 sound/soc/codecs/aw88395/aw88395_reg.h
create mode 100644 sound/soc/codecs/cs42l42-sdw.c
create mode 100644 sound/soc/codecs/idt821034.c
create mode 100644 sound/soc/codecs/peb2466.c
create mode 100644 sound/soc/codecs/rt712-sdca-sdw.c
create mode 100644 sound/soc/codecs/rt712-sdca-sdw.h
create mode 100644 sound/soc/codecs/rt712-sdca.c
create mode 100644 sound/soc/codecs/rt712-sdca.h
create mode 100644 sound/soc/codecs/sma1303.c
create mode 100644 sound/soc/codecs/sma1303.h
create mode 100644 sound/soc/intel/avs/control.c
create mode 100644 sound/soc/intel/avs/control.h
create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.c
create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.h
create mode 100644 sound/soc/mediatek/mt8188/Makefile
create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.h
create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-common.h
create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.h
create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clkid.h
create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-adda.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-mt6359.c
create mode 100644 sound/soc/mediatek/mt8188/mt8188-reg.h
create mode 100644 sound/soc/sof/ipc4-fw-reg.h
2
1
The following changes since commit c173ee5b2fa6195066674d66d1d7e191010fb1ff:
ASoC: topology: Return -ENOMEM on memory allocation failure (2023-02-07 14:06:26 +0000)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-fix-v6.2-rc8
for you to fetch changes up to 5afc7eefe41645259da84898fc55f6f46cb4de47:
ASoC: SOF: ops: refine parameters order in function snd_sof_dsp_update8 (2023-02-08 11:51:45 +0000)
----------------------------------------------------------------
ASoC: Fix for v6.2
One non-urgent fix for v6.2, this could possibly wait till the
merge window.
----------------------------------------------------------------
Rander Wang (1):
ASoC: SOF: ops: refine parameters order in function snd_sof_dsp_update8
sound/soc/sof/ops.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
2
1

16 Feb '23
Remove the sleep control in IRQ thread
and create an individual task to handel it for Jack plug in event.
This commit improves the control of ground switches in the AAD IRQ.
Signed-off-by: David Rau <David.Rau.opensource(a)dm.renesas.com>
---
sound/soc/codecs/da7219-aad.c | 41 +++++++++++++++++++++++++++++------
sound/soc/codecs/da7219-aad.h | 4 ++++
2 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/sound/soc/codecs/da7219-aad.c b/sound/soc/codecs/da7219-aad.c
index c55b033d89da..4a4f09f924bc 100644
--- a/sound/soc/codecs/da7219-aad.c
+++ b/sound/soc/codecs/da7219-aad.c
@@ -339,11 +339,39 @@ static void da7219_aad_hptest_work(struct work_struct *work)
SND_JACK_HEADSET | SND_JACK_LINEOUT);
}
+static void da7219_aad_jack_det_work(struct work_struct *work)
+{
+ struct da7219_aad_priv *da7219_aad =
+ container_of(work, struct da7219_aad_priv, jack_det_work);
+ struct snd_soc_component *component = da7219_aad->component;
+ u8 srm_st;
+
+ mutex_lock(&da7219_aad->jack_det_mutex);
+
+ srm_st = snd_soc_component_read(component, DA7219_PLL_SRM_STS) & DA7219_PLL_SRM_STS_MCLK;
+ msleep(da7219_aad->gnd_switch_delay * ((srm_st == 0x0) ? 2 : 1) - 4);
+ /* Enable ground switch */
+ snd_soc_component_update_bits(component, 0xFB, 0x01, 0x01);
+
+ mutex_unlock(&da7219_aad->jack_det_mutex);
+}
+
/*
* IRQ
*/
+static irqreturn_t da7219_aad_pre_irq_thread(int irq, void *data)
+{
+
+ struct da7219_aad_priv *da7219_aad = data;
+
+ if (!da7219_aad->jack_inserted)
+ schedule_work(&da7219_aad->jack_det_work);
+
+ return IRQ_WAKE_THREAD;
+}
+
static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
{
struct da7219_aad_priv *da7219_aad = data;
@@ -351,14 +379,9 @@ static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
struct da7219_priv *da7219 = snd_soc_component_get_drvdata(component);
u8 events[DA7219_AAD_IRQ_REG_MAX];
- u8 statusa, srm_st;
+ u8 statusa;
int i, report = 0, mask = 0;
- srm_st = snd_soc_component_read(component, DA7219_PLL_SRM_STS) & DA7219_PLL_SRM_STS_MCLK;
- msleep(da7219_aad->gnd_switch_delay * ((srm_st == 0x0) ? 2 : 1) - 4);
- /* Enable ground switch */
- snd_soc_component_update_bits(component, 0xFB, 0x01, 0x01);
-
/* Read current IRQ events */
regmap_bulk_read(da7219->regmap, DA7219_ACCDET_IRQ_EVENT_A,
events, DA7219_AAD_IRQ_REG_MAX);
@@ -377,6 +400,9 @@ static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
events[DA7219_AAD_IRQ_REG_A], events[DA7219_AAD_IRQ_REG_B],
statusa);
+ if (!da7219_aad->jack_inserted)
+ cancel_work_sync(&da7219_aad->jack_det_work);
+
if (statusa & DA7219_JACK_INSERTION_STS_MASK) {
/* Jack Insertion */
if (events[DA7219_AAD_IRQ_REG_A] &
@@ -940,8 +966,9 @@ int da7219_aad_init(struct snd_soc_component *component)
INIT_WORK(&da7219_aad->btn_det_work, da7219_aad_btn_det_work);
INIT_WORK(&da7219_aad->hptest_work, da7219_aad_hptest_work);
+ INIT_WORK(&da7219_aad->jack_det_work, da7219_aad_jack_det_work);
- ret = request_threaded_irq(da7219_aad->irq, NULL,
+ ret = request_threaded_irq(da7219_aad->irq, da7219_aad_pre_irq_thread,
da7219_aad_irq_thread,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
"da7219-aad", da7219_aad);
diff --git a/sound/soc/codecs/da7219-aad.h b/sound/soc/codecs/da7219-aad.h
index 21fdf53095cc..be87ee47edde 100644
--- a/sound/soc/codecs/da7219-aad.h
+++ b/sound/soc/codecs/da7219-aad.h
@@ -11,6 +11,7 @@
#define __DA7219_AAD_H
#include <linux/timer.h>
+#include <linux/mutex.h>
#include <sound/soc.h>
#include <sound/jack.h>
#include <sound/da7219-aad.h>
@@ -196,6 +197,9 @@ struct da7219_aad_priv {
struct work_struct btn_det_work;
struct work_struct hptest_work;
+ struct work_struct jack_det_work;
+
+ struct mutex jack_det_mutex;
struct snd_soc_jack *jack;
bool micbias_resume_enable;
--
2.17.1
4
5

[PATCHv2] hda/hdmi: Register with vga_switcheroo on Dual GPU Macbooks
by Orlando Chamberlain 16 Feb '23
by Orlando Chamberlain 16 Feb '23
16 Feb '23
Commit 586bc4aab878 ("ALSA: hda/hdmi - fix vgaswitcheroo detection for
AMD") caused only AMD gpu's with PX to have their audio component register
with vga_switcheroo. This meant that Apple Macbooks with apple-gmux as the
gpu switcher no longer had the audio client registering, so when the gpu is
powered off by vga_switcheroo snd_hda_intel is unaware that it should have
suspended the device:
amdgpu: switched off
snd_hda_intel 0000:03:00.1:
Unable to change power state from D3hot to D0, device inaccessible
snd_hda_intel 0000:03:00.1: CORB reset timeout#2, CORBRP = 65535
To resolve this, we use apple_gmux_detect() and register a
vga_switcheroo audio client when apple-gmux is detected.
Fixes: 586bc4aab878 ("ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD")
Link: https://lore.kernel.org/all/20230210044826.9834-9-orlandoch.dev@gmail.com/
Signed-off-by: Orlando Chamberlain <orlandoch.dev(a)gmail.com>
---
v1->v2: Use apple_gmux_detect(), split this patch out of the patch
series
sound/pci/hda/hda_intel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 87002670c0c9..cfd2ddfde112 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -50,6 +50,7 @@
#include <sound/intel-dsp-config.h>
#include <linux/vgaarb.h>
#include <linux/vga_switcheroo.h>
+#include <linux/apple-gmux.h>
#include <linux/firmware.h>
#include <sound/hda_codec.h>
#include "hda_controller.h"
@@ -1463,7 +1464,7 @@ static struct pci_dev *get_bound_vga(struct pci_dev *pci)
* vgaswitcheroo.
*/
if (((p->class >> 16) == PCI_BASE_CLASS_DISPLAY) &&
- atpx_present())
+ (atpx_present() || apple_gmux_detect(NULL, NULL)))
return p;
pci_dev_put(p);
}
--
2.39.1
2
1

16 Feb '23
Hi,
This series adds support for audio using the QMC controller available in
some Freescale PowerQUICC SoCs.
This series contains three parts in order to show the different blocks
hierarchy and their usage in this support.
The first one is related to TSA (Time Slot Assigner).
The TSA handles the data present at the pin level (TDM with up to 64
time slots) and dispatchs them to one or more serial controller (SCC).
The second is related to QMC (QUICC Multichannel Controller).
The QMC handles the data at the serial controller (SCC) level and splits
again the data to creates some virtual channels.
The last one is related to the audio component (QMC audio).
It is the glue between the QMC controller and the ASoC component. It
handles one or more QMC virtual channels and creates one DAI per QMC
virtual channels handled.
Compared to the previous iteration
https://lore.kernel.org/linux-kernel/20230113103759.327698-1-herve.codina@b…
this v4 series mainly:
- updates code comment format (feedback received on v2 series and
forgot to update in v3),
- fixes bindings,
- Replaces the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and update the TSA related API,
- Adds some missing lock in tsa_serial_connect() and
tsa_serial_disconnect().
Best regards,
Herve Codina
Changes v3 -> v4
- patches 2, 6 and 9
Update code comment format.
- patch 1
Fix some description formats.
Add 'additionalProperties: false' in subnode.
Move fsl,mode to fsl,diagnostic-mode.
Change clocks and clock-names properties.
Add '#serial-cells' property related to the newly introduced
fsl,tsa-serial phandle.
- patch 2
Move fsl,mode to fsl,diagnostic-mode.
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and update the related API.
Add missing locks.
- patch 5
Fix some description format.
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle.
Rename fsl,mode to fsl,operational-mode and update its description.
- patch 6
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and use the TSA updated API.
Rename fsl,mode to fsl,operational-mode.
- patch 8
Add 'Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>'
Changes v2 -> v3
- All bindings
Rename fsl-tsa.h to fsl,tsa.h
Add missing vendor prefix
Various fixes (quotes, node names, upper/lower case)
- patches 1 and 2 (TSA binding specific)
Remove 'reserved' values in the routing tables
Remove fsl,grant-mode
Add a better description for 'fsl,common-rxtx-pins'
Fix clocks/clocks-name handling against fsl,common-rxtx-pins
Add information related to the delays unit
Removed FSL_CPM_TSA_NBCELL
Fix license in binding header file fsl,tsa.h
- patches 5 and 6 (QMC binding specific)
Remove fsl,cpm-command property
Add interrupt property constraint
- patches 8 and 9 (QMC audio binding specific)
Remove 'items' in compatible property definition
Add missing 'dai-common.yaml' reference
Fix the qmc_chan phandle definition
- patch 2 and 6
Use io{read,write}be{32,16}
Change commit subjects and logs
- patch 4
Add 'Acked-by: Christophe Leroy <christophe.leroy(a)csgroup.eu>'
Changes v1 -> v2:
- patch 2 and 6
Fix kernel test robot errors
- other patches
No changes
Herve Codina (10):
dt-bindings: soc: fsl: cpm_qe: Add TSA controller
soc: fsl: cpm1: Add support for TSA
MAINTAINERS: add the Freescale TSA controller entry
powerpc/8xx: Use a larger CPM1 command check mask
dt-bindings: soc: fsl: cpm_qe: Add QMC controller
soc: fsl: cmp1: Add support for QMC
MAINTAINERS: add the Freescale QMC controller entry
dt-bindings: sound: Add support for QMC audio
ASoC: fsl: Add support for QMC audio
MAINTAINERS: add the Freescale QMC audio entry
.../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 167 ++
.../bindings/soc/fsl/cpm_qe/fsl,tsa.yaml | 261 +++
.../bindings/sound/fsl,qmc-audio.yaml | 117 ++
MAINTAINERS | 25 +
arch/powerpc/platforms/8xx/cpm1.c | 2 +-
drivers/soc/fsl/qe/Kconfig | 23 +
drivers/soc/fsl/qe/Makefile | 2 +
drivers/soc/fsl/qe/qmc.c | 1533 +++++++++++++++++
drivers/soc/fsl/qe/tsa.c | 864 ++++++++++
drivers/soc/fsl/qe/tsa.h | 42 +
include/dt-bindings/soc/fsl,tsa.h | 13 +
include/soc/fsl/qe/qmc.h | 71 +
sound/soc/fsl/Kconfig | 9 +
sound/soc/fsl/Makefile | 2 +
sound/soc/fsl/fsl_qmc_audio.c | 735 ++++++++
15 files changed, 3865 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,tsa.yaml
create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
create mode 100644 drivers/soc/fsl/qe/qmc.c
create mode 100644 drivers/soc/fsl/qe/tsa.c
create mode 100644 drivers/soc/fsl/qe/tsa.h
create mode 100644 include/dt-bindings/soc/fsl,tsa.h
create mode 100644 include/soc/fsl/qe/qmc.h
create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
--
2.39.0
6
22

[linux-next:master] BUILD REGRESSION 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
by kernel test robot 16 Feb '23
by kernel test robot 16 Feb '23
16 Feb '23
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: 9d9019bcea1aac7eed64a1a4966282b6b7b141c8 Add linux-next specific files for 20230215
Error/Warning reports:
https://lore.kernel.org/oe-kbuild-all/202301300743.bp7Dpazv-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302061911.C7xvHX9v-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302062224.ByzeTXh1-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302092211.54EYDhYH-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302111601.jtY4lKrA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302112104.g75cGHZd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302142145.iN5WZnpF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151041.0SWs1RHK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151109.xlBpZKUS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151751.DTeft5Fn-lkp@intel.com
Error/Warning: (recently discovered and may have been fixed)
Documentation/admin-guide/pm/amd-pstate.rst:343: WARNING: duplicate label admin-guide/pm/amd-pstate:user space interface in ``sysfs``, other instance in Documentation/admin-guide/pm/amd-pstate.rst
Documentation/riscv/uabi.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent.
Documentation/sphinx/templates/kernel-toc.html: 1:36 Invalid token: #}
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "walk_hmem_resources" [drivers/dax/hmem/dax_hmem.ko] undefined!
arch/mips/kernel/vpe.c:643:41: error: 'struct module' has no member named 'mod_mem'
drivers/cxl/core/region.c:2628:6: warning: variable 'rc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_optc.c:294:6: warning: no previous prototype for 'optc3_wait_drr_doublebuffer_pending_clear' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn31/dcn31_hubbub.c:1011:6: warning: no previous prototype for 'hubbub31_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_hubbub.c:948:6: warning: no previous prototype for 'hubbub32_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_hubp.c:158:6: warning: no previous prototype for 'hubp32_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_resource_helpers.c:62:18: warning: variable 'cursor_bpp' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_detection.c:1199: warning: expecting prototype for dc_link_detect_connection_type(). Prototype was for link_detect_connection_type() instead
drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_capability.c:1292:32: warning: variable 'result_write_min_hblank' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training.c:1586:38: warning: variable 'result' set but not used [-Wunused-but-set-variable]
idma64.c:(.text+0x7c): undefined reference to `devm_platform_ioremap_resource'
Unverified Error/Warning (likely false positive, please contact us if interested):
drivers/clk/ingenic/jz4760-cgu.c:80 jz4760_cgu_calc_m_n_od() error: uninitialized symbol 'od'.
drivers/hid/hid-sony.c:1726:41: warning: Uninitialized variables: entry.lock, entry.list_node, entry.hdev, entry.touchpad, entry.sensor_dev, entry.quirks, entry.state_worker, entry.send_output_report, entry.battery, entry.battery_desc, entry.device_id, entry.output_report_dmabuf, entry.state_worker_initialized, entry.defer_initialization, entry.battery_capacity, entry.battery_status, entry.led_count, entry.ghl_urb, entry.ghl_poke_timer [uninitvar]
drivers/usb/gadget/composite.c:2082:33: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/host/xhci-plat.c:371 xhci_generic_plat_probe() error: we previously assumed 'sysdev' could be null (see line 361)
sound/soc/soc-ac97.c:339 snd_soc_ac97_parse_pinctl() warn: passing zero to 'PTR_ERR'
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- alpha-allyesconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- alpha-randconfig-r033-20230212
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arc-allyesconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm-allmodconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm-allyesconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm64-allyesconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn30-dcn30_optc.c:warning:no-previous-prototype-for-optc3_wait_drr_doublebuffer_pending_clear
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn31-dcn31_hubbub.c:warning:no-previous-prototype-for-hubbub31_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubbub.c:warning:no-previous-prototype-for-hubbub32_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubp.c:warning:no-previous-prototype-for-hubp32_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_resource_helpers.c:warning:variable-cursor_bpp-set-but-not-used
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- i386-allyesconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn30-dcn30_optc.c:warning:no-previous-prototype-for-optc3_wait_drr_doublebuffer_pending_clear
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn31-dcn31_hubbub.c:warning:no-previous-prototype-for-hubbub31_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubbub.c:warning:no-previous-prototype-for-hubbub32_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubp.c:warning:no-previous-prototype-for-hubp32_init
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_resource_helpers.c:warning:variable-cursor_bpp-set-but-not-used
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
| `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- i386-randconfig-c001
| `-- net-sched-act_pedit.c:WARNING-opportunity-for-kmemdup
|-- i386-randconfig-s001
| |-- drivers-gpu-drm-i915-gem-i915_gem_ttm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-vm_fault_t-assigned-usertype-ret-got-int
| `-- drivers-usb-gadget-composite.c:sparse:sparse:restricted-__le16-degrades-to-integer
|-- i386-randconfig-s002
| `-- drivers-gpu-drm-i915-gem-i915_gem_ttm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-vm_fault_t-assigned-usertype-ret-got-int
|-- i386-randconfig-s003
| `-- drivers-usb-gadget-composite.c:sparse:sparse:restricted-__le16-degrades-to-integer
|-- ia64-allmodconfig
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
| |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
clang_recent_errors
|-- arm-randconfig-r005-20230212
| `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
|-- s390-randconfig-r001-20230213
| `-- idma64.c:(.text):undefined-reference-to-devm_platform_ioremap_resource
|-- x86_64-randconfig-a002-20230213
| `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
|-- x86_64-randconfig-a004-20230213
| `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
`-- x86_64-randconfig-a005-20230213
`-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
elapsed time: 1294m
configs tested: 108
configs skipped: 7
gcc tested configs:
alpha allyesconfig
alpha defconfig
arc allyesconfig
arc defconfig
arc nsim_700_defconfig
arc randconfig-r043-20230212
arc randconfig-r043-20230213
arm allmodconfig
arm allyesconfig
arm defconfig
arm randconfig-r046-20230212
arm u8500_defconfig
arm64 allyesconfig
arm64 defconfig
csky defconfig
i386 allyesconfig
i386 debian-10.3
i386 defconfig
i386 randconfig-a011-20230213
i386 randconfig-a012-20230213
i386 randconfig-a013-20230213
i386 randconfig-a014-20230213
i386 randconfig-a015-20230213
i386 randconfig-a016-20230213
i386 randconfig-c001
ia64 allmodconfig
ia64 defconfig
loongarch allmodconfig
loongarch allnoconfig
loongarch defconfig
m68k allmodconfig
m68k allyesconfig
m68k defconfig
m68k mvme147_defconfig
m68k sun3x_defconfig
mips allmodconfig
mips allyesconfig
mips ar7_defconfig
mips decstation_r4k_defconfig
mips gcw0_defconfig
mips xway_defconfig
nios2 allyesconfig
nios2 defconfig
openrisc defconfig
parisc defconfig
parisc64 defconfig
powerpc allmodconfig
powerpc allnoconfig
powerpc allyesconfig
powerpc mgcoge_defconfig
powerpc stx_gp3_defconfig
powerpc tqm8548_defconfig
riscv allmodconfig
riscv allnoconfig
riscv allyesconfig
riscv defconfig
riscv randconfig-r042-20230213
riscv rv32_defconfig
s390 allmodconfig
s390 allyesconfig
s390 defconfig
s390 randconfig-r044-20230213
sh allmodconfig
sh dreamcast_defconfig
sh rsk7264_defconfig
sh se7712_defconfig
sparc defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 allnoconfig
x86_64 allyesconfig
x86_64 defconfig
x86_64 kexec
x86_64 randconfig-a011-20230213
x86_64 randconfig-a012-20230213
x86_64 randconfig-a013-20230213
x86_64 randconfig-a014-20230213
x86_64 randconfig-a015-20230213
x86_64 randconfig-a016-20230213
x86_64 rhel-8.3
xtensa allyesconfig
xtensa smp_lx200_defconfig
clang tested configs:
arm multi_v5_defconfig
arm randconfig-r046-20230213
hexagon randconfig-r041-20230212
hexagon randconfig-r041-20230213
hexagon randconfig-r045-20230212
hexagon randconfig-r045-20230213
i386 randconfig-a001-20230213
i386 randconfig-a002-20230213
i386 randconfig-a003-20230213
i386 randconfig-a004-20230213
i386 randconfig-a005-20230213
i386 randconfig-a006-20230213
mips malta_kvm_defconfig
mips randconfig-c004-20230212
powerpc mpc8313_rdb_defconfig
powerpc ppc44x_defconfig
powerpc randconfig-c003-20230212
riscv randconfig-r042-20230212
s390 randconfig-r044-20230212
x86_64 randconfig-a001-20230213
x86_64 randconfig-a002-20230213
x86_64 randconfig-a003-20230213
x86_64 randconfig-a004-20230213
x86_64 randconfig-a005-20230213
x86_64 randconfig-a006-20230213
x86_64 randconfig-k001
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
1
0

[PATCH v2] ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
by Lucas Tanure 16 Feb '23
by Lucas Tanure 16 Feb '23
16 Feb '23
Add struct snd_pcm_substream forward declaration
Fixes: 078a85f2806f ("ASoC: dapm: Only power up active channels from a DAI")
Signed-off-by: Lucas Tanure <lucas.tanure(a)collabora.com>
---
Changes since v1:
- Use forward declaration instead of header sound/pcm.h
---
include/sound/soc-dapm.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 77495e5988c1..64915ebd641e 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -16,6 +16,7 @@
#include <sound/asoc.h>
struct device;
+struct snd_pcm_substream;
struct snd_soc_pcm_runtime;
struct soc_enum;
--
2.39.1
4
3
With the switching to dev_err_probe(), during the conversion
of GPIO calls, the return code is passed is a paratemer to it.
At the same time a copy'n'paste mistake was made, so the wrong
variable has been taken for the error reporting. Fix this.
Fixes: 3ee0d39c50dc ("ASoC: soc-ac97: Convert to agnostic GPIO API")
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <error27(a)gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
---
sound/soc/soc-ac97.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c
index 40051f513c6a..4e4fe29ade50 100644
--- a/sound/soc/soc-ac97.c
+++ b/sound/soc/soc-ac97.c
@@ -336,12 +336,12 @@ static int snd_soc_ac97_parse_pinctl(struct device *dev,
cfg->sdata_gpio = devm_gpiod_get_index(dev, "ac97", 1, GPIOD_ASIS);
if (IS_ERR(cfg->sdata_gpio))
- return dev_err_probe(dev, PTR_ERR(cfg->sync_gpio), "Can't find ac97-sdata gpio\n");
+ return dev_err_probe(dev, PTR_ERR(cfg->sdata_gpio), "Can't find ac97-sdata gpio\n");
gpiod_set_consumer_name(cfg->sdata_gpio, "AC97 link sdata");
cfg->reset_gpio = devm_gpiod_get_index(dev, "ac97", 2, GPIOD_ASIS);
if (IS_ERR(cfg->reset_gpio))
- return dev_err_probe(dev, PTR_ERR(cfg->sync_gpio), "Can't find ac97-reset gpio\n");
+ return dev_err_probe(dev, PTR_ERR(cfg->reset_gpio), "Can't find ac97-reset gpio\n");
gpiod_set_consumer_name(cfg->reset_gpio, "AC97 link reset");
return 0;
--
2.39.1
2
1
There is no reason to have a separate module for the tables file it just
holds regmap callbacks and register patches used by the main part of the
driver. Remove the separate module and merge it into the main driver
module.
Signed-off-by: Charles Keepax <ckeepax(a)opensource.cirrus.com>
---
Changes since v1:
- Remove module macros as the bottom of cs35l45-tables.c
sound/soc/codecs/Kconfig | 5 -----
sound/soc/codecs/Makefile | 4 +---
sound/soc/codecs/cs35l45-tables.c | 4 ----
3 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 4621674e68bf1..bd72c426a93d1 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -688,9 +688,6 @@ config SND_SOC_CS35L41_I2C
select SND_SOC_CS35L41
select REGMAP_I2C
-config SND_SOC_CS35L45_TABLES
- tristate
-
config SND_SOC_CS35L45
tristate
@@ -699,7 +696,6 @@ config SND_SOC_CS35L45_SPI
depends on SPI_MASTER
select REGMAP
select REGMAP_SPI
- select SND_SOC_CS35L45_TABLES
select SND_SOC_CS35L45
help
Enable support for Cirrus Logic CS35L45 smart speaker amplifier
@@ -710,7 +706,6 @@ config SND_SOC_CS35L45_I2C
depends on I2C
select REGMAP
select REGMAP_I2C
- select SND_SOC_CS35L45_TABLES
select SND_SOC_CS35L45
help
Enable support for Cirrus Logic CS35L45 smart speaker amplifier
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index a0a61554548eb..f1ca18f7946ca 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -63,8 +63,7 @@ snd-soc-cs35l41-lib-objs := cs35l41-lib.o
snd-soc-cs35l41-objs := cs35l41.o
snd-soc-cs35l41-spi-objs := cs35l41-spi.o
snd-soc-cs35l41-i2c-objs := cs35l41-i2c.o
-snd-soc-cs35l45-tables-objs := cs35l45-tables.o
-snd-soc-cs35l45-objs := cs35l45.o
+snd-soc-cs35l45-objs := cs35l45.o cs35l45-tables.o
snd-soc-cs35l45-spi-objs := cs35l45-spi.o
snd-soc-cs35l45-i2c-objs := cs35l45-i2c.o
snd-soc-cs42l42-objs := cs42l42.o
@@ -431,7 +430,6 @@ obj-$(CONFIG_SND_SOC_CS35L41) += snd-soc-cs35l41.o
obj-$(CONFIG_SND_SOC_CS35L41_LIB) += snd-soc-cs35l41-lib.o
obj-$(CONFIG_SND_SOC_CS35L41_SPI) += snd-soc-cs35l41-spi.o
obj-$(CONFIG_SND_SOC_CS35L41_I2C) += snd-soc-cs35l41-i2c.o
-obj-$(CONFIG_SND_SOC_CS35L45_TABLES) += snd-soc-cs35l45-tables.o
obj-$(CONFIG_SND_SOC_CS35L45) += snd-soc-cs35l45.o
obj-$(CONFIG_SND_SOC_CS35L45_SPI) += snd-soc-cs35l45-spi.o
obj-$(CONFIG_SND_SOC_CS35L45_I2C) += snd-soc-cs35l45-i2c.o
diff --git a/sound/soc/codecs/cs35l45-tables.c b/sound/soc/codecs/cs35l45-tables.c
index 5a2c2e684ef9f..5a2f47ca57716 100644
--- a/sound/soc/codecs/cs35l45-tables.c
+++ b/sound/soc/codecs/cs35l45-tables.c
@@ -196,7 +196,3 @@ unsigned int cs35l45_get_clk_freq_id(unsigned int freq)
return -EINVAL;
}
EXPORT_SYMBOL_NS_GPL(cs35l45_get_clk_freq_id, SND_SOC_CS35L45_TABLES);
-
-MODULE_DESCRIPTION("ASoC CS35L45 driver tables");
-MODULE_AUTHOR("James Schulman, Cirrus Logic Inc, <james.schulman(a)cirrus.com>");
-MODULE_LICENSE("Dual BSD/GPL");
--
2.30.2
2
2