Alsa-devel
Threads by month
- ----- 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
August 2022
- 115 participants
- 377 discussions
01 Aug '22
Add callback and code changes to enable ACP I2S controller in TDM
mode. Add new fields in acp_stream and acp_dev_data struct to configure
tdm related registers for ACP i2s controllers.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu(a)amd.com>
---
Depends on:-
-- https://patchwork.kernel.org/project/alsa-devel/patch/20220728124057.54259-…
sound/soc/amd/acp/acp-i2s.c | 78 ++++++++++++++++++++++++++++++++++++-
sound/soc/amd/acp/amd.h | 12 ++++++
2 files changed, 89 insertions(+), 1 deletion(-)
diff --git a/sound/soc/amd/acp/acp-i2s.c b/sound/soc/amd/acp/acp-i2s.c
index 393f729ef561..b1257923b225 100644
--- a/sound/soc/amd/acp/acp-i2s.c
+++ b/sound/soc/amd/acp/acp-i2s.c
@@ -25,6 +25,63 @@
#define DRV_NAME "acp_i2s_playcap"
+static int acp_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
+ unsigned int fmt)
+{
+ struct acp_dev_data *adata = snd_soc_dai_get_drvdata(cpu_dai);
+ int mode;
+
+ mode = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
+ switch (mode) {
+ case SND_SOC_DAIFMT_I2S:
+ adata->tdm_mode = TDM_DISABLE;
+ break;
+ case SND_SOC_DAIFMT_DSP_A:
+ adata->tdm_mode = TDM_ENABLE;
+ break;
+ default:
+ return -EINVAL;
+ }
+ return 0;
+}
+
+static int acp_i2s_set_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask, u32 rx_mask,
+ int slots, int slot_width)
+{
+ struct device *dev = dai->component->dev;
+ struct acp_dev_data *adata = snd_soc_dai_get_drvdata(dai);
+ struct acp_stream *stream;
+ int slot_len;
+
+ switch (slot_width) {
+ case SLOT_WIDTH_8:
+ slot_len = 8;
+ break;
+ case SLOT_WIDTH_16:
+ slot_len = 16;
+ break;
+ case SLOT_WIDTH_24:
+ slot_len = 24;
+ break;
+ case SLOT_WIDTH_32:
+ slot_len = 0;
+ break;
+ default:
+ dev_err(dev, "Unsupported bitdepth %d\n", slot_width);
+ return -EINVAL;
+ }
+
+ list_for_each_entry(stream, &adata->stream_list, list) {
+ if (tx_mask && stream->dir == SNDRV_PCM_STREAM_PLAYBACK)
+ adata->tdm_tx_fmt[stream->dai_id - 1] =
+ FRM_LEN | (slots << 15) | (slot_len << 18);
+ else if (rx_mask && stream->dir == SNDRV_PCM_STREAM_CAPTURE)
+ adata->tdm_rx_fmt[stream->dai_id - 1] =
+ FRM_LEN | (slots << 15) | (slot_len << 18);
+ }
+ return 0;
+}
+
static int acp_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{
@@ -33,7 +90,7 @@ static int acp_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_
struct acp_resource *rsrc;
u32 val;
u32 xfer_resolution;
- u32 reg_val;
+ u32 reg_val, fmt_reg, tdm_fmt;
u32 lrclk_div_val, bclk_div_val;
adata = snd_soc_dai_get_drvdata(dai);
@@ -62,12 +119,15 @@ static int acp_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_
switch (dai->driver->id) {
case I2S_BT_INSTANCE:
reg_val = ACP_BTTDM_ITER;
+ fmt_reg = ACP_BTTDM_TXFRMT;
break;
case I2S_SP_INSTANCE:
reg_val = ACP_I2STDM_ITER;
+ fmt_reg = ACP_I2STDM_TXFRMT;
break;
case I2S_HS_INSTANCE:
reg_val = ACP_HSTDM_ITER;
+ fmt_reg = ACP_HSTDM_TXFRMT;
break;
default:
dev_err(dev, "Invalid dai id %x\n", dai->driver->id);
@@ -77,12 +137,15 @@ static int acp_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_
switch (dai->driver->id) {
case I2S_BT_INSTANCE:
reg_val = ACP_BTTDM_IRER;
+ fmt_reg = ACP_BTTDM_RXFRMT;
break;
case I2S_SP_INSTANCE:
reg_val = ACP_I2STDM_IRER;
+ fmt_reg = ACP_I2STDM_RXFRMT;
break;
case I2S_HS_INSTANCE:
reg_val = ACP_HSTDM_IRER;
+ fmt_reg = ACP_HSTDM_RXFRMT;
break;
default:
dev_err(dev, "Invalid dai id %x\n", dai->driver->id);
@@ -95,6 +158,16 @@ static int acp_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_
val = val | (xfer_resolution << 3);
writel(val, adata->acp_base + reg_val);
+ if (adata->tdm_mode) {
+ val = readl(adata->acp_base + reg_val);
+ writel(val | BIT(1), adata->acp_base + reg_val);
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ tdm_fmt = adata->tdm_tx_fmt[dai->driver->id - 1];
+ else
+ tdm_fmt = adata->tdm_rx_fmt[dai->driver->id - 1];
+ writel(tdm_fmt, adata->acp_base + fmt_reg);
+ }
+
if (rsrc->soc_mclk) {
switch (params_format(params)) {
case SNDRV_PCM_FORMAT_S16_LE:
@@ -443,6 +516,7 @@ static int acp_i2s_startup(struct snd_pcm_substream *substream, struct snd_soc_d
stream->id = dai->driver->id + dir;
stream->dai_id = dai->driver->id;
stream->irq_bit = irq_bit;
+ stream->dir = substream->stream;
return 0;
}
@@ -452,6 +526,8 @@ const struct snd_soc_dai_ops asoc_acp_cpu_dai_ops = {
.hw_params = acp_i2s_hwparams,
.prepare = acp_i2s_prepare,
.trigger = acp_i2s_trigger,
+ .set_fmt = acp_i2s_set_fmt,
+ .set_tdm_slot = acp_i2s_set_tdm_slot,
};
EXPORT_SYMBOL_NS_GPL(asoc_acp_cpu_dai_ops, SND_SOC_ACP_COMMON);
diff --git a/sound/soc/amd/acp/amd.h b/sound/soc/amd/acp/amd.h
index be8bb8247c4e..5f2119f42271 100644
--- a/sound/soc/amd/acp/amd.h
+++ b/sound/soc/amd/acp/amd.h
@@ -84,6 +84,14 @@
#define ACP_MAX_STREAM 8
+#define TDM_ENABLE 1
+#define TDM_DISABLE 0
+
+#define SLOT_WIDTH_8 0x8
+#define SLOT_WIDTH_16 0x10
+#define SLOT_WIDTH_24 0x18
+#define SLOT_WIDTH_32 0x20
+
struct acp_chip_info {
char *name; /* Platform name */
unsigned int acp_rev; /* ACP Revision id */
@@ -96,6 +104,7 @@ struct acp_stream {
int irq_bit;
int dai_id;
int id;
+ int dir;
u64 bytescount;
u32 reg_offset;
u32 pte_offset;
@@ -120,6 +129,7 @@ struct acp_dev_data {
void __iomem *acp_base;
unsigned int i2s_irq;
+ bool tdm_mode;
/* SOC specific dais */
struct snd_soc_dai_driver *dai_driver;
int num_dai;
@@ -134,6 +144,8 @@ struct acp_dev_data {
u32 lrclk_div;
struct acp_resource *rsrc;
+ u32 tdm_tx_fmt[3];
+ u32 tdm_rx_fmt[3];
};
union acp_i2stdm_mstrclkgen {
--
2.25.1
1
0
Hi,
this is a patch set for rather simple conversions from the plain
sprintf() & co to the new helpers, sysfs_emit() and sysfs_emit_at().
No functional changes are expected.
Takashi
===
Takashi Iwai (7):
ALSA: ac97: Replace sprintf() with sysfs_emit()
ALSA: aoa: Replace sprintf() with sysfs_emit()
ALSA: control-led: Replace sprintf() with sysfs_emit()
ALSA: core: Replace scnprintf() with sysfs_emit()
ALSA: pcm: Replace sprintf() with sysfs_emit()
ALSA: hda: Replace sprintf() with sysfs_emit()
ALSA: line6: Replace sprintf() with sysfs_emit()
sound/ac97/bus.c | 2 +-
sound/aoa/soundbus/sysfs.c | 22 ++++++++------------
sound/core/control_led.c | 29 +++++++++++---------------
sound/core/init.c | 4 ++--
sound/core/pcm.c | 2 +-
sound/hda/hdac_sysfs.c | 42 +++++++++++++++++++-------------------
sound/pci/hda/hda_sysfs.c | 23 ++++++++++-----------
sound/usb/line6/pod.c | 8 ++++----
sound/usb/line6/podhd.c | 4 ++--
9 files changed, 62 insertions(+), 74 deletions(-)
--
2.35.3
1
7
[PATCH v1] ASoc: dt-bindings: tas27xx: update maximum I2C address and revise the format
by Raphael-Xu 01 Aug '22
by Raphael-Xu 01 Aug '22
01 Aug '22
1.use correct maximum I2C address 2.revise the format
Signed-off-by: Raphael-Xu <13691752556(a)139.com>
---
.../devicetree/bindings/sound/tas27xx.yaml | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/tas27xx.yaml b/Documentation/devicetree/bindings/sound/tas27xx.yaml
index 66a0df8850ea..573652577462 100644
--- a/Documentation/devicetree/bindings/sound/tas27xx.yaml
+++ b/Documentation/devicetree/bindings/sound/tas27xx.yaml
@@ -8,7 +8,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Texas Instruments TAS2764/TAS2780 Smart PA
maintainers:
- - Shenghao Ding <shenghao-ding(a)ti.com>
+ - Raphael Xu <raphael-xu(a)ti.com>
description: |
The TAS2764/TAS2780 is a mono, digital input Class-D audio amplifier
@@ -23,17 +23,19 @@ properties:
- ti,tas2780
reg:
- maxItems: 1
description: |
- I2C address of the device can be between 0x38 to 0x45.
+ I2C address of the device can be between 0x38 to 0x3f.
+ minimum: 0x38
+ maximum: 0x3f
reset-gpios:
- maxItems: 1
description: GPIO used to reset the device.
+ maxItems: 1
shutdown-gpios:
+ description: |
+ GPIO used to control the state of the device.Only for TAS2764.
maxItems: 1
- description: GPIO used to control the state of the device.
interrupts:
maxItems: 1
@@ -41,10 +43,14 @@ properties:
ti,imon-slot-no:
$ref: /schemas/types.yaml#/definitions/uint32
description: TDM TX current sense time slot.
+ minimum: 0
+ maximum: 3
ti,vmon-slot-no:
$ref: /schemas/types.yaml#/definitions/uint32
description: TDM TX voltage sense time slot.
+ minimum: 0
+ maximum: 3
'#sound-dai-cells':
const: 1
--
2.35.1
2
1
The following changes since commit 1e347f861da8ddb17e1d1b3113cb6c188e0de3e5:
ASoC: rockchip-i2s: Undo BCLK pinctrl changes (2022-07-14 13:25:52 +0100)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v5.20-2
for you to fetch changes up to 40d060b8158e26438398bf1132925f666e3b6480:
ASoC: q6asm: use kcalloc() instead of kzalloc() (2022-07-28 11:59:10 +0100)
----------------------------------------------------------------
ASoC: More updates for v5.20
More updates that came in since the last pull request I sent, a series
of driver specific changes:
- Support for AMD RPL, some Intel platforms and Mediatek MT8186.
----------------------------------------------------------------
Aidan MacDonald (3):
ASoC: jz4740-i2s: Remove Open Firmware dependency
ASoC: jz4740-i2s: Refactor DMA channel setup
ASoC: jz4740-i2s: Remove unused 'mem' resource
Ajit Kumar Pandey (2):
ASoC: SOF: amd: Add SOF pm ops callback for Renoir
ASoC: SOF: topology: add code to parse config params for ACPDMIC dai
Alexander Martinz (2):
ASoC: codecs: tfa989x: Add support for tfa9890
ASoC: dt-bindings: nxp,tfa989x: Add tfa9890 support
Amadeusz Sławiński (12):
ASoC: Intel: avs: Add max98373 machine board
ASoC: Intel: avs: Fix parsing UUIDs in topology
ASoC: Remove unused hw_write_t type
ASoC: Intel: avs: Set max DMA segment size
ASoC: Intel: avs: Use helper function to set up DMA
ASoC: codecs: rt298: Fix NULL jack in interrupt
ASoC: codecs: rt298: Fix jack detection
ASoC: codecs: rt286: Set component to NULL on remove
ASoC: codecs: rt298: Set component to NULL on remove
ASoC: codecs: rt274: Set component to NULL on remove
ASoC: Makefile: Fix simultaneous build of KUNIT tests
ASoC: Intel: avs: Use lookup table to create modules
Andrey Turkin (2):
ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option
ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines
Andy Shevchenko (4):
ASoC: madera: Replace kernel.h with the necessary inclusions
ASoC: Intel: catpt: remove duplicating driver data retrieval
ASoC: SOF: Intel: bdw: remove duplicating driver data retrieval
ASoC: SOF: Intel: byt: remove duplicating driver data retrieval
Arnaud Ferraris (2):
ASoC: dt-bindings: sun50i-codec: Add binding for internal bias
ASoC: sun50i-codec-analog: Add support for internal bias
Bard Liao (8):
ASoC: SOF: Intel: add MeteorLake machines
ASoC: SOF: IPC4: add sdw blob
ASoC: SOF: ipc4-topology: add SoundWire/ALH aggregation support
ASoC: SOC: Intel: introduce cl_init callback
ASoC: SOF: Intel: Add support for MeteorLake (MTL)
soundwire: Intel: add trigger callback
ASoC: SOF: Intel: add trigger callback into sdw_callback
ASoC: SOF: ipc4-topology: move ida allocate/free to widget_setup/free
Brent Lu (3):
ASoC: Intel: sof_cs42l42: support BT offload audio
ASoC: Intel: sof_cs42l42: add adl_mx98360a_cs4242 board config
ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK_AON bit
Bryan O'Donoghue (1):
ASoC: qcom: lpass: Fix apq8016 compat string to match yaml
Cezary Rojewski (47):
ALSA: Add snd_pcm_direction_name() helper
ASoC: codecs: Add HD-Audio codec driver
ASoC: Intel: avs: Add HDAudio machine board
ASoC: Intel: avs: Add DMIC machine board
ASoC: Intel: avs: Add I2S-test machine board
ASoC: Intel: avs: Add rt274 machine board
ASoC: Intel: avs: Add rt286 machine board
ASoC: Intel: avs: Add rt298 machine board
ASoC: Intel: avs: Add rt5682 machine board
ASoC: Intel: avs: Add nau8825 machine board
ASoC: Intel: avs: Add ssm4567 machine board
ASoC: Intel: avs: Add max98357a machine board
ASoC: Intel: avs: Add da7219 machine board
ASoC: codecs: rt274: Always init jack_detect_work
ASoC: codecs: rt286: Reorganize jack detect handling
ASoC: codecs: rt298: Reorganize jack detect handling
ASoC: Intel: Rename haswell source file to hsw_rt5640
ASoC: Intel: hsw_rt5640: Reword prefixes of all driver members
ASoC: Intel: hsw_rt5640: Reword driver name
ASoC: Intel: hsw_rt5640: Update code indentation
ASoC: Intel: hsw_rt5640: Update file comments
ASoC: Intel: hsw_rt5640: Improve probe() function quality
ASoC: Intel: hsw_rt5640: Improve hw_params() debug-ability
ASoC: Intel: Rename broadwell source file to bdw_rt286
ASoC: Intel: bdw_rt286: Reword prefixes of all driver members
ASoC: Intel: bdw_rt286: Reword driver name
ASoC: Intel: bdw_rt286: Update code indentation
ASoC: Intel: bdw_rt286: Update file comments
ASoC: Intel: bdw_rt286: Improve probe() function quality
ASoC: Intel: bdw_rt286: Improve hw_params() debug-ability
ASoC: Intel: bdw_rt286: Improve codec_init() quality
ASoC: Intel: bdw_rt286: Remove FE DAI ops
ASoC: Intel: avs: Fix i2s_test card name initialization
ASoC: Intel: avs: Register HDAudio ext-bus operations
ASoC: Intel: avs: Assign I2S gateway when parsing topology
ASoC: Intel: avs: Relax DSP core transition timings
ASoC: Intel: avs: Copy only as many RX bytes as necessary
ASoC: Intel: avs: Shield LARGE_CONFIG_GETs against zero payload_size
ASoC: Intel: avs: Block IPC channel on suspend
ASoC: Intel: avs: Recognize FW_CFG_RESERVED
ASoC: Intel: avs: Replace hardcodes with SD_CTL_STREAM_RESET
ASoC: Intel: avs: Lower UNLOAD_MULTIPLE_MODULES IPC timeout
ASoC: Intel: avs: Update AVS_FW_INIT_TIMEOUT_US declaration
ASoC: Intel: hsw_rt5640: Mark BE DAI as nonatomic
ASoC: Intel: bdw_rt286: Mark BE DAI as nonatomic
ASoC: Intel: bdw_rt5650: Mark BE DAI as nonatomic
ASoC: Intel: bdw_rt5677: Mark BE DAI as nonatomic
Charles Keepax (170):
ASoC: core: Add set_fmt_new callback that directly specifies provider
ASoC: amd: vangogh: Update to use set_fmt_new callback
ASoC: atmel: Update to use set_fmt_new callback
ASoC: au1x: Update to use set_fmt_new callback
ASoC: bcm: Update to use set_fmt_new callback
ASoC: ep93xx: Update to use set_fmt_new callback
ASoC: dwc: Update to use set_fmt_new callback
ASoC: fsl: Update to use set_fmt_new callback
ASoC: hisilicon: Update to use set_fmt_new callback
ASoC: img: Update to use set_fmt_new callback
ASoC: Intel: Update to use set_fmt_new callback
ASoC: js4740-i2s: Update to use set_fmt_new callback
ASoC: mediatek: Update to use set_fmt_new callback
ASoC: meson: Update to use set_fmt_new callback
ASoC: mxs-saif: Update to use set_fmt_new callback
ASoC: pxa: Update to use set_fmt_new callback
ASoC: qcom: Update to use set_fmt_new callback
ASoC: rockchip: Update to use set_fmt_new callback
ASoC: samsung: Update to use set_fmt_new callback
ASoC: sh: Update to use set_fmt_new callback
ASoC: stm: Update to use set_fmt_new callback
ASoC: sunxi: Update to use set_fmt_new callback
ASoC: tegra: Update to use set_fmt_new callback
ASoC: test-component: Update to use set_fmt_new callback
ASoC: ti: Update to use set_fmt_new callback
ASoC: ux500: Update to use set_fmt_new callback
ASoC: xtensa: Update to use set_fmt_new callback
ASoC: core: Always send the CPU DAI a direct clock specifier
ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt
ASoC: atmel: Rename set_fmt_new back to set_fmt
ASoC: au1x: Rename set_fmt_new back to set_fmt
ASoC: bcm: Rename set_fmt_new back to set_fmt
ASoC: ep93xx: Rename set_fmt_new back to set_fmt
ASoC: dwc: Rename set_fmt_new back to set_fmt
ASoC: fsl: Rename set_fmt_new back to set_fmt
ASoC: hisilicon: Rename set_fmt_new back to set_fmt
ASoC: img: Rename set_fmt_new back to set_fmt
ASoC: Intel: Rename set_fmt_new back to set_fmt
ASoC: jz4740-i2s: Rename set_fmt_new back to set_fmt
ASoC: mediatek: Rename set_fmt_new back to set_fmt
ASoC: meson: Rename set_fmt_new back to set_fmt
ASoC: mxs-saif: Rename set_fmt_new back to set_fmt
ASoC: pxa: Rename set_fmt_new back to set_fmt
ASoC: qcom: Rename set_fmt_new back to set_fmt
ASoC: rockchip: Rename set_fmt_new back to set_fmt
ASoC: samsung: Rename set_fmt_new back to set_fmt
ASoC: sh: Rename set_fmt_new back to set_fmt
ASoC: stm: Rename set_fmt_new back to set_fmt
ASoC: sunxi: Rename set_fmt_new back to set_fmt
ASoC: tegra: Rename set_fmt_new back to set_fmt
ASoC: test-component: Rename set_fmt_new back to set_fmt
ASoC: ti: Rename set_fmt_new back to set_fmt
ASoC: ux500: Rename set_fmt_new back to set_fmt
ASoC: xtensa: Rename set_fmt_new back to set_fmt
ASoC: soc-dai: Remove set_fmt_new callback
ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local
ASoC: cs42l52: Fix TLV scales for mixer controls
ASoC: cs35l36: Update digital volume TLV
ASoC: cs53l30: Correct number of volume levels on SX controls
ASoC: cs42l52: Correct TLV for Bypass Volume
ASoC: cs42l56: Correct typo in minimum level for SX volume controls
ASoC: cs42l51: Correct minimum value for SX volume control
ASoC: sun8i-codec: Partial revert to fix clock specifiers
ASoC: mediatek: mt8186: Use new direct clock defines
ASoC: cs35l45: Add endianness flag in snd_soc_component_driver
ASoC: wm_adsp: Fix event for preloader
ASoC: wm5110: Fix DRE control
ASoC: cs35l41: Correct some control names
ASoC: core: Add new SOC_DOUBLE_SX_TLV macro
ASoC: dapm: Move stereo autodisable check
ASoC: soc-component: Add legacy_dai_naming flag
soundwire: intel: Migrate to new style legacy DAI naming flag
drm/vc4: Migrate to new style legacy DAI naming flag
ASoC: img: Migrate to new style legacy DAI naming flag
ASoC: spear: Migrate to new style legacy DAI naming flag
ASoC: jz4740-i2c: Migrate to new style legacy DAI naming flag
ASoC: ep93xx: Migrate to new style legacy DAI naming flag
ASoC: stm32: Migrate to new style legacy DAI naming flag
ASoC: bcm: Migrate to new style legacy DAI naming flag
ASoC: sh: Migrate to new style legacy DAI naming flag
ASoC: tegra: Migrate to new style legacy DAI naming flag
ASoC: hisilicon: Migrate to new style legacy DAI naming flag
ASoC: xilinx: Migrate to new style legacy DAI naming flag
ASoC: sunxi: Migrate to new style legacy DAI naming flag
ASoC: Intel: Migrate to new style legacy DAI naming flag
ASoC: meson: Migrate to new style legacy DAI naming flag
ASoC: sti-uniperf: Migrate to new style legacy DAI naming flag
ASoC: amd: Migrate to new style legacy DAI naming flag
ASoC: atmel: Migrate to new style legacy DAI naming flag
ASoC: fsl: Migrate to new style legacy DAI naming flag
ASoC: xtensa: Migrate to new style legacy DAI naming flag
ASoC: adi: Migrate to new style legacy DAI naming flag
ASoC: dwc: Migrate to new style legacy DAI naming flag
ASoC: qcom: Migrate to new style legacy DAI naming flag
ASoC: test-component: Migrate to new style legacy DAI naming flag
ASoC: rockchip: Migrate to new style legacy DAI naming flag
ASoC: au1x: Migrate to new style legacy DAI naming flag
ASoC: pxa: Migrate to new style legacy DAI naming flag
ASoC: sof: Migrate to new style legacy DAI naming flag
ASoC: ux500: Migrate to new style legacy DAI naming flag
ASoC: ti: Migrate to new style legacy DAI naming flag
ASoC: mxs-saif: Migrate to new style legacy DAI naming flag
ASoC: samsung: Migrate to new style legacy DAI naming flag
ASoC: core: Switch core to new DAI naming flag
media: TDA1997x: Remove now redundant non_legacy_dai_naming flag
ASoC: fsl: Remove now redundant non_legacy_dai_naming flag
ASoC: meson: Remove now redundant non_legacy_dai_naming flag
ASoC: pistachio: Remove now redundant non_legacy_dai_naming flag
ASoC: samsung: Remove now redundant non_legacy_dai_naming flag
ASoC: soc-utils: Remove now redundant non_legacy_dai_naming flag
ASoC: sunxi: Remove now redundant non_legacy_dai_naming flag
ASoC: tegra: Remove now redundant non_legacy_dai_naming flag
ASoC: test-component: Remove now redundant non_legacy_dai_naming flag
ASoC: topology: KUnit: Remove now redundant non_legacy_dai_naming flag
ASoC: uniphier: Remove now redundant non_legacy_dai_naming flag
ASoC: ad*: Remove now redundant non_legacy_dai_naming flag
ASoC: ak*: Remove now redundant non_legacy_dai_naming flag
ASoC: alc*: Remove now redundant non_legacy_dai_naming flag
ASoC: cs*: Remove now redundant non_legacy_dai_naming flag
ASoC: da*: Remove now redundant non_legacy_dai_naming flag
ASoC: es*: Remove now redundant non_legacy_dai_naming flag
ASoC: max*: Remove now redundant non_legacy_dai_naming flag
ASoC: msm*: Remove now redundant non_legacy_dai_naming flag
ASoC: nau*: Remove now redundant non_legacy_dai_naming flag
ASoC: pcm*: Remove now redundant non_legacy_dai_naming flag
ASoC: rt*: Remove now redundant non_legacy_dai_naming flag
ASoC: spdif: Remove now redundant non_legacy_dai_naming flag
ASoC: ssm*: Remove now redundant non_legacy_dai_naming flag
ASoC: sta*: Remove now redundant non_legacy_dai_naming flag
ASoC: tas*: Remove now redundant non_legacy_dai_naming flag
ASoC: tfa*: Remove now redundant non_legacy_dai_naming flag
ASoC: tlv320*: Remove now redundant non_legacy_dai_naming flag
ASoC: twl*: Remove now redundant non_legacy_dai_naming flag
ASoC: uda*: Remove now redundant non_legacy_dai_naming flag
ASoC: wm*: Remove now redundant non_legacy_dai_naming flag
ASoC: 88pm860x: Remove now redundant non_legacy_dai_naming flag
ASoC: ab8500: Remove now redundant non_legacy_dai_naming flag
ASoC: ac97: Remove now redundant non_legacy_dai_naming flag
ASoC: ads117x: Remove now redundant non_legacy_dai_naming flag
ASoC: bd28623: Remove now redundant non_legacy_dai_naming flag
ASoC: bt-sco: Remove now redundant non_legacy_dai_naming flag
ASoC: cpcap: Remove now redundant non_legacy_dai_naming flag
ASoC: cq93vc: Remove now redundant non_legacy_dai_naming flag
ASoC: cx20442: Remove now redundant non_legacy_dai_naming flag
ASoC: dmic: Remove now redundant non_legacy_dai_naming flag
ASoC: gtm601: Remove now redundant non_legacy_dai_naming flag
ASoC: hdac_hdmi: Remove now redundant non_legacy_dai_naming flag
ASoC: hdmi-codec: Remove now redundant non_legacy_dai_naming flag
ASoC: ics43432: Remove now redundant non_legacy_dai_naming flag
ASoC: inno_rk3036: Remove now redundant non_legacy_dai_naming flag
ASoC: Intel: avs: Remove now redundant non_legacy_dai_naming flag
ASoC: isabelle: Remove now redundant non_legacy_dai_naming flag
ASoC: jz4740: Remove now redundant non_legacy_dai_naming flag
ASoC: lm49453: Remove now redundant non_legacy_dai_naming flag
ASoC: lochnagar: Remove now redundant non_legacy_dai_naming flag
ASoC: mc13783: Remove now redundant non_legacy_dai_naming flag
ASoC: ml26124: Remove now redundant non_legacy_dai_naming flag
ASoC: rk817: Remove now redundant non_legacy_dai_naming flag
ASoC: sgtl5000: Remove now redundant non_legacy_dai_naming flag
ASoC: si476x: Remove now redundant non_legacy_dai_naming flag
ASoC: stac9766: Remove now redundant non_legacy_dai_naming flag
ASoC: sti-sas: Remove now redundant non_legacy_dai_naming flag
ASoC: tscs42xx: Remove now redundant non_legacy_dai_naming flag
ASoC: wl1273: Remove now redundant non_legacy_dai_naming flag
ASoC: zl38060: Remove now redundant non_legacy_dai_naming flag
ASoC: soc-component: Remove non_legacy_dai_naming flag
ASoC: samsung: s3c24xx-i2s: Fix typo in DAIFMT handling
ASoC: wm_adsp: Minor clean and redundant code removal
firmware: cs_dsp: Add pre_stop callback
firmware: cs_dsp: Add memory chunk helpers
Chen-Yu Tsai (1):
ASoC: rockchip: i2s: Fix crash on missing pinctrl
Christophe JAILLET (3):
ASoC: ux500: Remove some leftover from the "Replace GPLv2 boilerplate/reference with SPDX" rules
ASoC: ab8500: Remove some leftover from the "Replace GPLv2 boilerplate/reference with SPDX" rules
ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
Chunxu Li (1):
ASoC: mediatek: mt8195: extract SOF common code
Claudiu Beznea (7):
ASoC: atmel: mchp-pdmc: remove space in front of mchp_pdmc_dt_init()
ASoC: atmel_ssc_dai: remove #ifdef CONFIG_PM
ASoC: mchp-spdifrx: use single tab indent for structure
ASoC: mchp-spdiftx: return directly ret
ASoC: mchp-spdiftx: add and remove black line around MODULE_DEVICE_TABLE()
ASoC: mchp-spdifrx: disable end of block interrupt on failures
ASoC: mchp-spdiftx: remove references to mchp_i2s_caps
Colin Ian King (2):
ASoC: mediatek: mt8186: Fix a handful of spelling mistakes
ASoC: Intel: Skylake: remove redundant re-assignments to pointer array
Conor Dooley (1):
ASoC: dt-bindings: convert designware-i2s to dt-schema
Cristian Ciocaltea (2):
ASoC: cs35l41: Add support for CLSA3541 ACPI device ID
ASoC: amd: vangogh: Use non-legacy DAI naming for cs35l41
Dan Carpenter (4):
ASoC: SOF: mediatek: Fix error code in probe
ASoC: SOF: ipc4-topology: Fix error code in sof_ipc4_volume_put()
ASoC: amd: Fix error pointer dereference
ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write()
Daniel Baluta (4):
ASoC: SOF: compress: Dynamically allocate pcm params struct
ASoC: SOF: Copy compress parameters into extended data
ASoC: SOF: compress: Prevent current kernel running with older FW
uapi: sof: abi: Bump SOF ABI for ext_data_length
Daniel Mack (7):
ASoC: dt-bindings: max98396: add voltage supplies
ASoC: dt-bindings: max98396: Document adi,bypass-slot-no
ASoC: max98396: add voltage regulators
ASoC: max98396: Improve some error prints
ASoC: max98396: Fix register access for PCM format settings
ASoC: max98396: Implement DSP speaker monitor
ASoC: max98396: Fix TDM mode BSEL settings
David Lin (1):
ASoC: nau8825: Declare 2 channels for DAI of capture stream
Fabio Estevam (1):
ASoC: imx-audmux: Silence a clang warning
Fei Shao (1):
ASoC: mediatek: mt8186: Fix mutex double unlock in GPIO request
Francesco Dolcini (1):
ASoC: sgtl5000: Fix noise on shutdown/remove
Gaosheng Cui (1):
ASoC: codecs: wsa883x: fix warning using-module-alias-sdw.cocci
Gustavo A. R. Silva (1):
ASoC: q6asm: use kcalloc() instead of kzalloc()
Hans de Goede (1):
ASoC: Intel: bytcr_wm5102: Fix GPIO related probe-ordering problem
Hui Wang (2):
ASoC: nau8822: Disable internal PLL if freq_out is zero
ASoC: nau8822: Add operation for internal PLL off and on
Javier Martinez Canillas (6):
regmap: Re-introduce bulk read support check in regmap_bulk_read()
regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set
regmap: Wire up regmap_config provided bulk write in missed functions
regmap: Re-introduce bulk read support check in regmap_bulk_read()
regmap: Make regmap_noinc_read() return -ENOTSUPP if map->read isn't set
regmap: Wire up regmap_config provided bulk write in missed functions
Jiapeng Chong (3):
ASoC: rockchip: i2s: Fix missing error code in rockchip_i2s_probe()
ASoC: codecs: max98088: Clean up some inconsistent indenting
ASoC: tegra20_ac97: Fix missing error code in tegra20_ac97_platform_probe()
Jiasheng Jiang (1):
ASoC: codecs: da7210: add check for i2c_add_driver
Jiaxin Yu (22):
ASoC: mediatek: mt6366: support for mt6366 codec
ASoC: mediatek: mt8186: support audsys clock control
ASoC: mediatek: mt8186: support adda in platform driver
ASoC: mediatek: mt8186: support hostless in platform driver
ASoC: mediatek: mt8186: support hw gain in platform driver
ASoC: mediatek: mt8186: support i2s in platform driver
ASoC: mediatek: mt8186: support pcm in platform driver
ASoC: mediatek: mt8186: support src in platform driver
ASoC: mediatek: mt8186: support tdm in platform driver
ASoC: mediatek: mt8186: support audio clock control in platform driver
ASoC: mediatek: mt8186: support gpio control in platform driver
ASoC: mediatek: mt8186: add misc driver and register definitions
ASoC: mediatek: mt8186: add platform driver
ASoC: mediatek: mt8186: add mt8186-mt6366 common driver
ASoC: mediatek: mt8186: add machine driver with mt6366, da7219 and max98357
ASoC: mediatek: mt8186: add machine driver with mt6366, rt1019 and rt5682s
ASoC: mediatek: mt6358: add new compatible for using mt6366
ASoC: mediatek: mt8186: add audio afe document
ASoC: mediatek: mt8186: add mt8186-mt6366-da7219-max98357 document
ASoC: mediatek: mt8186: add mt8186-mt6366-rt1019-rt5682s document
ASoC: mediatek: mt8186: set the correct string to strncmp()
ASoC: mediatek: mt8186: remove unnecessary judgments
Judy Hsiao (6):
ASoC: rockchip: i2s: switch BCLK to GPIO
ASoC: rockchip: i2s: switch BCLK to GPIO
ASoC: dt-bindings: rockchip: Document pinctrl-names for i2s
ASoC: rockchip: i2s: Fix the debug level on missing pinctrl
ASoC: rockchip: i2s: Remove unwanted dma settings in rockchip_i2s_probe
ASoC: rockchip: i2s: Fix error code when fail to read I2S_CLR
Julia Lawall (2):
ASoC: amd: acp: fix typo in comment
ASoC: stm32: dfsdm: fix typo in comment
Krzysztof Kozlowski (7):
ASoC: samsung: s3c-i2s-v2: Allow build for unsupported hardware
ASoC: samsung: s3c24xx-i2s: Drop unneeded gpio.h include
ASoC: samsung: Enable compile test
ASoC: samsung: h1940_uda1380: include proepr GPIO consumer header
ASoC: dt-bindings: qcom,sm8250: add SDM845 sound
ASoC: dt-bindings: qcom,wcd934x: use absolute path to other schema
ASoC: dt-bindings: use spi-peripheral-props.yaml
Kuninori Morimoto (11):
ASoC: simple-card-utils: rename asoc_simple_init_dai_link_params() to asoc_simple_init_for_codec2codec()
ASoC: ak4613: cares Simple-Audio-Card case for TDM
ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus()
ASoC: soc-core.c: share code for snd_soc_of_get_dai_link_cpus/codecs()
ASoC: audio-graph-card2.c: use of_property_read_u32() for rate
ASoC: audio-graph-card2.c: make Codec2Codec settings optional
ASoC: audio-graph-card2.c: remove pre-alloced Codec2Codec space
ASoC: audio-graph-card2-custom-sample.dtsi: add verbose explanation
ASoC: simple-card-utils.c: ignore Codec2Codec setting if it already have
ASoC: simple-card-utils.c: care Codec2Codec vs DPCM:BE
ASoC: rsnd: care default case on rsnd_ssiu_busif_err_irq_ctrl()
Li Chen (2):
regmap: provide regmap_field helpers for simple bit operations
ASoC: sunxi: Use {regmap/regmap_field}_{set/clear}_bits helpers
Li kunyu (1):
ASoC: tegra: delete a semicolon
Liang He (5):
ASoC: qcom: Fix missing of_node_put() in asoc_qcom_lpass_cpu_platform_probe()
ASoc: audio-graph-card2: Fix refcount leak bug in __graph_get_type()
ASoC: mt6359: Fix refcount leak bug
ASoC: audio-graph-card: Add of_node_put() in fail path
ASoC: audio-graph-card2: Add of_node_put() in fail path
Libin Yang (2):
ASoC: SOF: ipc4-topology: check dai->private in ipc_free()
ASoC: SOF: ipc4-topology: free memories allocated in sof_ipc4_get_audio_fmt
Lukas Bulwahn (1):
ASoC: Intel: avs: correct config reference for I2S test board
Marco Felsch (2):
ASoC: fsl_sai: use local device pointer
ASoC: fsl_sai: add error message in case of missing imx-pcm-dma support
Marek Vasut (1):
ASoC: doc: Update dead links
Mario Limonciello (1):
ASoC: amd: yc: Decrease level of error message
Mark Brown (105):
Merge existing fixes from asoc/for-5.19 into new branch
ASoC: ssm2518: Use modern ASoC DAI format terminology
ASoC: ssm2602: Use modern ASoC DAI format terminology
ASoC: ssm4567: Use modern ASoC DAI format terminology
ASoC: ops: Clarify snd_soc_info_volsw_sx()
ASoC: nau8822: Don't reconfigure PLL to the same values
ASoC: ops: Remove unneeded delay.h inclusion
ASoC: tfa9879: Use modern ASoC DAI format terminology
ASoC: max9860: Use modern ASoC DAI format terminology
ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
ASoC: cx2072x: Use modern ASoC DAI format terminology
ASoC: max98090: Use modern ASoC DAI format terminology
ASoC: rk3328: Use modern ASoC DAI format terminology
ASoC: sta32x: Use modern ASoC DAI format terminology
ASoC: sta350: Use modern ASoC DAI format terminology
ASoC: sti-sas: Use modern ASoC DAI format terminology
ASoC: tas2552: Use modern ASoC DAI format terminology
ASoC: tas2770: Use modern ASoC DAI format terminology
ASoC: tas5086: Use modern ASoC DAI format terminology
ASoC: tas5720: Use modern ASoC DAI format terminology
ASoC: tas6424: Use modern ASoC DAI format terminology
ASoC: uda1334: Use modern ASoC DAI format terminology
ASoC: tlv320adc3xxx: Use modern ASoC DAI format terminology
ASoC: tlv320adcx140: Use modern ASoC DAI format terminology
ASoC: tlv320aic23: Use modern ASoC DAI format terminology
ASoC: tlv320aic26: Use modern ASoC DAI format terminology
ASoC: tlv320aic31xx: Use modern ASoC DAI format terminology
ASoC: tlv320aic32x4: Use modern ASoC DAI format terminology
ASoC: tlv320aic33: Use modern ASoC DAI format terminology
ASoC: tlv320dac3x: Use modern ASoC DAI format terminology
ALSA: hda: cirrus: Add initial DSP support and firmware loading
ASoC: Intel: soc-acpi and machine driver updates
ASoC: Intel: avs: Machine boards and HDA codec support
OPE support on Tegra210 and later
ASoC: trivial changes for cppcheck warnings
Switch to use internal PLL for iMCLK
ASoC: Drop some i2c noop remove callbacks
Add Machine driver support for nau8825, max98560 and rt5682s, rt1019
ASoC: SOF: AMD/Mediatek updates for 5.20
ASoC: ssm: Use modern ASoC DAI format terminology
ASoC: DAI clocking terminology modernisation
ASoC: harden SoundWire codec/machine drivers used on Intel platforms
Specify clock provider directly to CPU DAIs
ASoC: codecs: Series of fixes for realtek codecs used on RVPs
ASoC: codecs: qualcomm move gain to S8_TLV
ASoC: SOF: ipc3-dtrace: Handle race during initialization
ASoC: SOF: Add support ctx_save with IPC4
ASoC: wcd9335: Fix spurious event generation
ASoC: hdmi-codec: Update to modern DAI terminology
ASoC: wcd938x: Fix event generation for some controls
ASoC: SOF: IPC4: Add topology, control and PCM ops
ASoC: Merge fixes
ASoC: ops: Don't modify the driver's plaform_max when reading state
ASoC: ops: Fix boolean/integer detection for simple controls
ASoC: SOF: Intel: Add support for MeteorLake
ASoC: Add regmap_field helpers for simple bit operations
ASoC: SOF/Intel: remove __func__ from dev_dbg()
ASoC: minor kernel-doc corrections
ASoC: Intel: Chromebooks: remap jack pins
ASoC: SOF: Intel: fix resume from hibernate
ASoC: SOF/soundwire: use resume_and_get on component probe
remap: Some fixes for bulk read/write callbacks in regmap_config support
ASoC: Merge fixes
Add MT8186 ADSP dt-binding
ASoC: rockchip: i2s: switch BCLK to GPIO
ASoC: Intel: haswell and broadwell boards update
ASoC: Merge up fixes
ASoC: sun50i-codec-analog: Internal bias support
ASoC: max98396: Some assorted fixes and additions
ASoC: use pm_runtime_resume_and_get() when possible
Add PDM/DSD/dataline configuration support
ASoC: codecs: add WSA883x support
ASoC: Refactor non_legacy_dai_naming flag
ASoC: dt-bindings: Add bindings for WCD9335 DAIs
ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus()
Add support of two Audio PLL source
I2S driver changes for Jadeite platform
ASoC: cleanups and improvements for jz4740-i2s
ASoC: Intel: sof_cs42l42: adding support for ADL configuration and BT offload
ASoC: audio-graph-card2.c: make Codec2Codec settings optional
ASoC: Merge up fixes
ASoC: SOF: ipc4-topology: fix error and memory handling
ADD legacy audio driver support for rembrandt
ASoC: codecs: Series of fixes for realtek codecs used on RVPs
ASoC: Intel: avs: Updates and cleanups
ASoC: SOF: Intel: hda: Use cold/purge boot after firmware crash
ASoC: SOF: Intel: hda-dai: No need to decouple host/link DMA twice
ASoC: SOF: Intel: Do not process IPC reply before firmware boot
Extend ipc stream parameters sent to DSP
ASoC: SOF: Intel: hda: Correct Firmware State Register use
ASoC/SoundWire: Intel: add sdw BE dai trigger
ASoC: Merge up revert of v5.19 version of the rockchip BCLK management
Read _SUB from ACPI to be able to identify firmware
ASoC: Intel: Mark BE DAIs as nonatomic for hsw and
ASoC: SOF: Intel: add support for SoundWire-based HP Omen16
ASoC: nau8821: Don't unconditionally free interrupt
ASoC: SOF: mediatek: fix boot sequences
ASoC: SOF: Intel: updates and cleanups
ASoC: dt-bindings: atmel-classd: Convert to
ASoC: mediatek: Add support for MT8186 SoC
ASoC: fsl: Fix sparse warning
ASoC: SOF: minor updates for 5.20
ASoC: Intel: machine driver updates for 5.20
ASoC: atmel: one fix and few cleanups
ASoC: atmel: one fix and one cleanup
Martin Povišer (1):
ASoC: Introduce 'fixup_controls' card method
Mauro Carvalho Chehab (1):
ASoC: wm8731: update wlf,wm8731.yaml reference
Miaoqian Lin (5):
ASoC: cros_ec_codec: Fix refcount leak in cros_ec_codec_platform_probe
ASoC: samsung: Fix error handling in aries_audio_probe
ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
Minghao Chi (2):
ASoC: mediatek: remove unnecessary check of clk_disable_unprepare
ASoC: imx-audmux: remove unnecessary check of clk_disable_unprepare/clk_prepare_enable
Muralidhar Reddy (3):
ASoC: Intel: soc-acpi: Add entry for sof_es8336 in ADL match table
ASoC: Intel: sof_es8336: add support for HDMI_In capture
ASoC: Intel: sof_es8336: reset the num_links during probe
Nathan Chancellor (1):
ASoC: amd: acp: Fix initialization of ext_intr_stat1 in i2s_irq_handler()
Oder Chiou (1):
ASoC: rt5640: Add the MICBIAS1 to the dapm routing
Peter Ujfalusi (29):
ASoC: SOF: Intel: hda-dsp: Expose hda_dsp_core_power_up()
ASoC: SOF: Intel: hda-loader: Make sure that the fw load sequence is followed
ASoC: SOF: Intel: hda-loader: Clarify the cl_dsp_init() flow
ASoC: SOF: ipc3-topology: Move and correct size checks in sof_ipc3_control_load_bytes()
ASoC: SOF: make ctx_store and ctx_restore as optional
ASoC: SOF: sof_ipc_pm_ops: Add support for DSP core power management
ASoC: SOF: ipc3: Add set_core_state pm_ops implementation
ASoC: SOF: ipc4: Add set_core_state pm_ops implementation
ASoC: SOF: Intel: Switch to use the generic pm_ops.set_core_state
ASoC: SOF: ipc4: implement pm ctx_save callback
ASoC: SOF: ipc3-dtrace: Introduce SOF_DTRACE_INITIALIZING state
ASoC: SOF: ipc3-dtrace: Add helper function to update the sdev->host_offset
ASoC: SOF: ipc3-dtrace: Return from dtrace_read if there is no new data available
ASoC: SOF: debug: Clarify the IPC timeout handling path
ASoC: SOF: Compile and runtime IPC version selection
ASoC: SOF: Intel: IPC4: enable IMR boot
ASoC: SOF: Intel: hda: Fix compressed stream position tracking
ASoC: twl4030: Drop legacy, non DT boot support
ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot
ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot
ASoC: SOF: Intel: mtl: Do not process IPC reply before firmware boot
ASoC: SOF: Intel: hda: Introduce skip_imr_boot flag
ASoC: SOF: Intel: hda: Correct the ROM/FW state reporting code
ASoC: SOF: Intel: hda-dai: Drop misleading comment regarding dma_data
ASoC: SOF: Intel: hda-dai: Do snd_hdac_ext_stream_decouple() only once
ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used
ASoC: SOF: ipc3-topology: Prevent double freeing of ipc_control_data via load_bytes
ASoC: SOF: ipc3-loader: Print out the non matching ext_man magic number
ASoC: SOF: Intel: atom: don't keep a temporary string in fixup_tplg_name
Pierre-Louis Bossart (85):
ASoC: cs35l45: typo in argument definition
ASoC: cs42l42: remove redundant test
ASoC: wcd-mbhc-v2: remove useless initialization
ASoC: wcd9335: remove redundant tests
ASoC: Intel: atom: sst: remove useless initialization
ASoC: Intel: atom: sst_ipc: remove redundant test
ASoC: Intel: atom: sst_ipc: remove useless initializations
ASoC: Intel: atom: controls: remove useless initializations
ASoC: Intel: boards: reset acpi_chan_package
ASoC: Intel: sof_pcm512x: remove unnecessary init
ASoC: mediatek: mt8195: simplify error handling
ASoC: qcom: q6dsp: q6adm: remove useless initializations
ASoC: qcom: q6dsp: remove spurious space
ASoC: rockchip: simplify error handling
ASoC: samsung: snow: simplify error handling
ASoC: meson: remove useless initialization
ASoC: Intel: sof_sdw: allow HDaudio/HDMI disable
ASoC: Realtek/Maxim SoundWire codecs: disable pm_runtime on remove
ASoC: rt711-sdca-sdw: fix calibrate mutex initialization
ASoC: Intel: sof_sdw: handle errors on card registration
ASoC: rt711: fix calibrate mutex initialization
ASoC: rt7*-sdw: harden jack_detect_handler
ASoC: codecs: rt700/rt711/rt711-sdca: initialize workqueues in probe
ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in .set_jack_detect
ASoC: SOF: ipc3-dtrace: use pm_runtime_resume_and_get()
MAINTAINERS: update ASoC/Intel/SOF maintainers
ASoC: SOF: Intel: hda-dai: enhance debug messages
ASoC: SOF: reduce default verbosity of IPC logs
ASoC: SOF: pm: add explicit behavior for ACPI S1 and S2
ASoC: SOF: pm: add definitions for S4 and S5 states
ASoC: SOF: Intel: disable IMR boot when resuming from ACPI S4 and S5 states
ASoC: cs4270: update kernel-doc
ASoC: sunxi: sun4i-i2s: update kernel-doc
ASoC: Intel: skl_nau88l25_max98357a: remap jack pins
ASoC: Intel: skl_nau88l25_ssm4567: remap jack pins
ASoC: Intel: kbl_rt5663_max98927: remap jack pins
ASoC: Intel: kbl_da7219_max98357a: remap jack pins
ASoC: Intel: kbl_da7219_max98927: remap jack pins
ASoC: Intel: kbl_rt5663_rt5514_max98927: remap jack pins
ASoC: Intel: bxt_da7219_max98357a: remap jack pins
ASoC: Intel: glk_rt5682_max98357a: remap jack pins
ASoC: Intel: cml_rt1011_rt5682: remap jack pins
ASoC: Intel: sof_cs42l42: remap jack pins
ASoC: Intel: sof_da7219_max98373: remap jack pins
ASoC: Intel: sof_nau8825: remap jack pins
ASoC: Intel: sof_rt5682: remap jack pins
ASoC: SOF: Intel: hda-dsp: report error on power-up/down
ASoC: SOF: Intel: hda-stream: report error on stream not opened
ASoC: SOF: Intel: hda-dai: remove use of __func__ in dev_dbg
ASoC: SOF: Intel: hda-stream: remove use of __func__ in dev_dbg
ASoC: SOF: Intel: mtl: remove use of __func__ in dev_dbg
ASoC: SOF: ipc3-dtrace: remove use of __func__ in dev_dbg
ASoC: SOF: ipc3-loader: remove use of __func__ in dev_dbg
ASoC: SOF: ipc3-topology: remove use of __func__ in dev_dbg
ASoC: SOF: ipc4-topology remove use of __func__ in dev_dbg
ASoC: SOF: sof-client: remove use of __func__ in dev_dbg
ASoC: SOF: ipc4: remove use of __func__ in dev_dbg
ASoC: Intel: boards: hda: remove use of __func__ in dev_dbg
ASoC: Intel: boards: sof_sdw: remove use of __func__ in dev_dbg
ASoC: SOF: pcm: use pm_resume_and_get() on component probe
ASoC: codecs: soundwire: call pm_runtime_resume() in component probe
ASoC: Intel: catpt: use pm_runtime_resume_and_get()
ASoC: Intel: skylake: skl-pcm: use pm_runtime_resume_and_get()
ASoC: wcd-mbhc-v2: use pm_runtime_resume_and_get()
ASoC: wsa881x: use pm_runtime_resume_and_get()
ASoC: rockchip: i2s_tdm: use pm_runtime_resume_and_get()
ASoC: fsl: fsl_sai: use pm_runtime_resume_and_get()
ASoC: img: img-i2s-out: use pm_runtime_resume_and_get()
ASoC: rockchip: pdm: use pm_runtime_resume_and_get()
ASoC: tas2552: use pm_runtime_resume_and_get()
ASoC: ti: davinci-mcasp: use pm_runtime_resume_and_get()
ASoC: amd: acp-es8336: use static variables
ASoC: SOF: remove warning on ABI checks
ASoC: soc-pcm: demote warnings on non-atomic BE connection
ASoC: Intel: sof_sdw: avoid oops in error handling
ASoC: Intel: soc-acpi: add table for HP Omen 16-k0005TX
ASoC: Intel: sof_sdw: add quirk for HP Omen 16-k0005TX
ASoC: SOF: Intel: enable dmic handling with 2 or fewer SoundWire links
ASoC: SOF: Intel: hda: don't set fw_filename
ASoC: SOF: Intel: hda: only fixup topology name if not set already
ASoC: SOF: probes: rename assign/free callbacks as startup/shutdown
ASoC: SOF: Intel: hda-stream: test DMA buffer first in hw_params
ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT
ASoC: Intel: sof_sdw: add support for Dell SKU 0AF0
ASoC: Intel: sof_es8336: remove hard-coded SSP selection
Rander Wang (3):
ASoC: SOF: ipc4-pcm: set pcm rate to dai setting
ASoC: SOF: add ipc4 SRC module support
ASoC: SOF: ipc4-topology: set domain bit based on dp domain type
Randy Dunlap (2):
ASoC: max98390: use linux/gpio/consumer.h to fix build
ASoC: amd: fix Jadeite kconfig warning and build errors
Ranjani Sridharan (23):
ASoC: SOF: Add topology tokens for IPC4
ASoC: SOF: IPC4: Introduce topology ops
ASoC: SOF: ipc4-topology: Add support for parsing AIF_IN/AIF_OUT widgets
ASoC: SOF: ipc4-topology: Add support for parsing DAI_IN/DAI_OUT widgets
ASoC: SOF: ipc4-topology: Add prepare op for AIF type widgets
ASoC: SOF: ipc4-topology: Add prepare op for DAI type widgets
ASoC: SOF: ipc4-topology: Add support for parsing and preparing pga widgets
ASoC: SOF: ipc4-topology: Add support for parsing mixer widgets
ASoC: SOF: ipc4-topology: Add control_setup op
ASoC: SOF: ipc4-topology: Add control IO ops
ASoC: SOF: IPC4: Add pcm ops
ASoC: SOF: ipc4-topology: Add widget_setup/widget_free ops
ASoC: SOF: ipc4-topology: Add route_setup/route_free ops
ASoC: SOF: ipc4-topology: Add the dai_config op
ASoC: SOF: ipc4-pcm: Expose sof_ipc4_set_pipeline_state()
ASoC: SOF: IPC4: set the BE DAI ops
ASoC: SOF: Add ops_free
ASoC: SOF: Intel: hda: init NHLT for IPC4
ASoC: SOF: Add two new structures for topology manifest data
ASoC: SOF: Add a new IPC op for parsing topology manifest
ASoC: SOF: ipc4-topology: Add support for SSP/DMIC DAI's
AsoC: SOF: ipc4-topology: Add dai_get_clk op
ASoC: SOF: topology: remove unused variable
Raphael-Xu (3):
ASoC: add tas2780 driver
ASoC: add tas2780 DT binding
ASoC: dt-bindings: tas2780: remove tas2780 and will merge it to tas27xx
Ren Zhijie (1):
ASoC: mediatek: mt8186: fix Kconfig dependency
Rob Herring (1):
ASoC: dt-bindings: sgtl5000: Add missing type to 'micbias-voltage-m-volts'
Ryan Wanner (3):
ASoC: dt-bindings: atmel-classd: Convert to json-schema
ASoC: dt-bindings: atmel-classd: PDMIC convert to json-schema
ASoC: dt-bindings: atmel-i2s: Convert to json-schema
Sameer Pujar (5):
ASoC: tegra: Add binding doc for OPE module
ASoC: tegra: Add Tegra210 based OPE driver
ASoC: tegra: AHUB routes for OPE module
ASoC: tegra: Fix clock DAI format on Tegra210
ASoC: tegra: Fix MBDRC bypass mode check
Sascha Hauer (2):
ASoC: fsl_asrc_dma: Use dmaengine_terminate_async()
ASoC: audio_graph_card2: Fix port numbers in example
Seven Lee (1):
ASoC: nau8821: Add headset button detection
Shengjiu Wang (30):
ASoC: fsl_asrc_dma: enable dual fifo for ASRC P2P
ASoC: fsl_mqs: simplify the code with adding fsl_mqs_soc_data
ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode
ASoC: dt-bindings: fsl,mqs: Add compatible string for i.MX93 platform
ASoC: fsl_mqs: Add support for i.MX93 platform
ASoC: fsl_sai: Add PDM daifmt support
ASoC: fsl_sai: Add DSD bit format support
ASoC: fsl_sai: Add support for more sample rates
ASoc: fsl_sai: Add pinctrl operation for PDM and DSD
ASoC: fsl_sai: Make res a member of struct fsl_sai
ASoC: dt-bindings: fsl-sai: Add new property to configure dataline
ASoC: fsl_sai: Configure dataline/FIFO information from dts property
ASoC: fsl_micfil: change micfil default settings
ASoC: dt-bindings: fsl,micfil: Convert format to json-schema
ASoC: fsl_micfil: Add legacy_dai_naming flag
ASoC: fsl_asrc_dma: Add legacy_dai_naming flag
ASoC: fsl_utils: Add function to handle PLL clock source
ASoC: fsl_spdif: Add support for PLL switch at runtime.
ASoC: fsl_micfil: Add support for PLL switch at runtime
ASoC: fsl_sai: Add support for PLL switch at runtime
ASoC: dt-bindings: fsl_spdif: Add two PLL clock source
ASoC: dt-bindings: fsl-sai: Add two PLL clock source
ASoC: imx-card: Fix DSD/PDM mclk frequency
ASoC: fsl_utils: Don't use plain integer as NULL pointer
ASoC: fsl_utils: Drop usage of __clk_get_name()
ASoC: fsl_sai: Don't use plain integer as NULL pointer
ASoC: fsl_asrc: force cast the asrc_format type
ASoC: fsl-asoc-card: force cast the asrc_format type
ASoC: fsl_easrc: use snd_pcm_format_t type for sample_format
ASoC: imx-card: use snd_pcm_format_t type for asrc_format
Shuming Fan (1):
ASoC: rt711-sdca: fix kernel NULL pointer dereference when IO error
Srinivas Kandagatla (11):
ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV
ASoC: qdsp6: q6apm-dai: unprepare stream if its already prepared
MAINTAINERS: update ASoC Qualcomm maintainer email-id
ASoC: dt-bindings: Add WSA883x bindings
ASoC: codecs: add wsa883x amplifier support
MAINTAINERS: add ASoC Qualcomm codecs
ASoC: codecs: wsa883x: add control, dapm widgets and map
ASoC: codecs: wsa881x: handle timeouts in resume path
ASoC: codecs: wsa883x: handle timeouts in resume path
ASoC: codecs: wsa883x: add missing break statement
Srinivasa Rao Mandadapu (3):
ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS
ASoC: qcom: lpass-platform: Update VMA access permissions in mmap callback
ASoC: qcom: Add driver support for audioreach solution
Stefan Binding (6):
ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code
ASoC: cs35l41: Add common cs35l41 enter hibernate function
ASoC: cs35l41: Do not print error when waking from hibernation
ASoC: ops: Fix integer detection for when max possible values > 1
ACPI: utils: Add api to read _SUB from ACPI
ASoC: cs35l41: Read System Name from ACPI _SUB to identify firmware
Syed Saba Kareem (5):
ASoC: amd: add RPL Platform acp header file
ASoC: amd: add ACP PCI driver for RPL platform
ASoC: amd: add RPL Platform init/de-init functions
ASoC: amd: add RPL Platform pci driver pm-ops
ASoC: amd: enable RPL Platform acp drivers build
Tang Bin (1):
ASoC: stm32: sai: Remove useless define
Tinghan Shen (4):
dt-bindings: dsp: mediatek: Use meaningful names for mbox
firmware: mediatek: Use meaningful names for mbox
dt-bindings: dsp: mediatek: Add mt8186 dsp document
ASoC: SOF: mediatek: Align mt8186 clock names with dt-bindings
Tom Rix (2):
ASoC: samsung: change gpiod_speaker_power and rx1950_audio from global to static variables
ASoC: samsung: change neo1973_audio from a global to static
Uwe Kleine-König (17):
ASoC: ak4642: Drop no-op remove function
ASoC: da7219: Drop no-op remove function
ASoC: lm49453: Drop no-op remove function
ASoC: da732x: Drop no-op remove function
ASoC: cs35l45: Make cs35l45_remove() return void
ASoC: Intel: broadwell: Make broadwell_disable_jack() return void
ASoC: simple-card-utils: Make asoc_simple_clean_reference() return void
ASoC: core: Make snd_soc_unregister_card() return void
ASoC: amd: acp: Fix error handling in .remove()
ASoC: topology: KUnit: Followup prototype change of snd_soc_unregister_card()
ASoC: xilinx: Suppress second error message about reset failure in .remove()
ASoC: tegra: tegra20_das: Fold header file into only user
ASoC: tegra: tegra20_das: Remove unused function tegra20_das_read
ASoC: tegra: tegra20_das: Get rid of global pointer for driver data
ASoC: tegra: tegra20_das: Make helper functions return void
ASoC: tegra: tegra20_das: Drop write-only driver data member
ASoC: rsnd: Emit useful error messages in .remove()
V sujith kumar Reddy (5):
ASoC: amd: acp: Add support for nau8825 and max98360 card
ASoC: amd: acp: Add support for rt5682s and rt1019 card with hs instance
ASoC: amd: acp: Remove rt1019_1 codec conf from machine driver
ASoC: amd: acp: ACP code generic to support newer platforms
ASoC: amd: acp: Add legacy audio driver support for Rembrandt platform
Venkata Prasad Potturu (4):
ASoC: amd: acp: Modify local variables name to generic
ASoC: amd: acp: Drop superfluous mmap callback
ASoC: amd: acp: Modify const resource struct variable to generic
ASoC: amd: acp: Add error handling cases
Vijendar Mukunda (7):
ASoC: amd: add I2S MICSP instance support
ASoC: amd: add Machine driver for Jadeite platform
ASoC: amd: enable machine driver build for Jadeite platform
ASoC: amd: fix ACPI dependency compile errors and warnings
ASoC: amd: remove unused header file inclusion
ASoC: amd: drop machine driver remove function
ASoC: amd: fix for variable set but not used warning
Wallace Lin (1):
ASoC: nau8821: add new widget to control system clock
YC Hung (7):
ASoC: SOF: mediatek: revise mt8195 clock sequence
ASoC: SOF: mediatek: Add shared_size for mediatek common chip information
ASoC: SOF: mediatek: mt8195 modify dram type as non-cache
ASoC: SOF: mediatek: mt8195 suspend check dsp idle
ASoC: SOF: mediatek: Revise mt8195 boot flow
ASoC: SOF: mediatek: fix mt8195 StatvectorSel wrong setting
ASoC: SOF: Add cont_update_posn to platform parameters
Yang Li (1):
ASoC: amd: Remove duplicated include in acp-es8336.c
Yang Yingliang (1):
ASoC: fsl: pcm030-audio-fabric: use platform_device_unregsiter()
Yassine Oudjana (3):
ASoC: wcd9335: Remove RX channel from old list before adding it to a new one
ASoC: dt-bindings: Add bindings for WCD9335 DAIs
ASoC: wcd9335: Use DT bindings instead of local DAI definitions
Yong Zhi (6):
ASoC: Intel: boards: rename RTL1019 compatible driver to rt1019p
ASoC: intel: sof_sdw: add RT711 SDCA card for MTL platform
ASoC: SOF: Intel: MTL: remove redundant snd_sof_dsp_read() call
ASoC: Intel: sof_rt5682: Add support for mtl_mx98357_rt5682
ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe
ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe
Zhongjun Tan (1):
ASoC: mediatek: mt8186: Remove condition with no effect
Zhu Ning (1):
ASoC: codes: Add support for ES8316 producer mode
syed sabakareem (1):
ASoC: amd: yc: Update DMI table entries
xliu (1):
ASoC: Intel: cirrus-common: fix incorrect channel mapping
zhangqilong (1):
ASoC: fsl_xcvr:Fix unbalanced pm_runtime_enable in fsl_xcvr_probe
.../bindings/dsp/mediatek,mt8186-dsp.yaml | 91 +
.../bindings/dsp/mediatek,mt8195-dsp.yaml | 10 +-
.../devicetree/bindings/sound/adi,adau1977.yaml | 7 +-
.../devicetree/bindings/sound/adi,max98396.yaml | 30 +-
.../sound/allwinner,sun50i-a64-codec-analog.yaml | 5 +
.../bindings/sound/atmel,sama5d2-classd.yaml | 100 +
.../bindings/sound/atmel,sama5d2-i2s.yaml | 85 +
.../bindings/sound/atmel,sama5d2-pdmic.yaml | 98 +
.../devicetree/bindings/sound/atmel-classd.txt | 55 -
.../devicetree/bindings/sound/atmel-i2s.txt | 46 -
.../devicetree/bindings/sound/atmel-pdmic.txt | 55 -
.../bindings/sound/atmel-sam9x5-wm8731-audio.txt | 2 +-
.../devicetree/bindings/sound/designware-i2s.txt | 35 -
.../devicetree/bindings/sound/fsl,micfil.txt | 33 -
.../devicetree/bindings/sound/fsl,micfil.yaml | 85 +
.../devicetree/bindings/sound/fsl,mqs.txt | 2 +-
.../devicetree/bindings/sound/fsl,spdif.yaml | 4 +
.../devicetree/bindings/sound/fsl-sai.txt | 11 +
Documentation/devicetree/bindings/sound/mt6358.txt | 4 +-
.../devicetree/bindings/sound/mt8186-afe-pcm.yaml | 175 ++
.../sound/mt8186-mt6366-da7219-max98357.yaml | 75 +
.../sound/mt8186-mt6366-rt1019-rt5682s.yaml | 75 +
.../devicetree/bindings/sound/nau8821.txt | 2 +-
.../bindings/sound/nvidia,tegra210-ahub.yaml | 4 +
.../bindings/sound/nvidia,tegra210-mbdrc.yaml | 47 +
.../bindings/sound/nvidia,tegra210-ope.yaml | 87 +
.../bindings/sound/nvidia,tegra210-peq.yaml | 48 +
.../devicetree/bindings/sound/nxp,tfa989x.yaml | 1 +
.../devicetree/bindings/sound/qcom,sdm845.txt | 91 -
.../devicetree/bindings/sound/qcom,sm8250.yaml | 3 +
.../devicetree/bindings/sound/qcom,wcd934x.yaml | 2 +-
.../devicetree/bindings/sound/qcom,wsa883x.yaml | 74 +
.../devicetree/bindings/sound/rockchip-i2s.yaml | 7 +
.../devicetree/bindings/sound/sgtl5000.yaml | 1 +
.../bindings/sound/snps,designware-i2s.yaml | 94 +
.../devicetree/bindings/sound/wlf,wm8731.yaml | 9 +-
Documentation/process/kernel-docs.rst | 2 +-
Documentation/sound/soc/codec.rst | 2 +-
Documentation/sound/soc/platform.rst | 2 +-
MAINTAINERS | 5 +
drivers/acpi/utils.c | 38 +
drivers/base/regmap/regmap.c | 37 +-
drivers/firmware/cirrus/cs_dsp.c | 107 +
drivers/firmware/mtk-adsp-ipc.c | 36 +-
drivers/gpu/drm/bridge/sii902x.c | 5 +-
.../gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 2 +-
drivers/gpu/drm/exynos/exynos_hdmi.c | 8 +-
drivers/gpu/drm/i2c/tda998x_drv.c | 6 +-
drivers/gpu/drm/sti/sti_hdmi.c | 8 +-
drivers/gpu/drm/vc4/vc4_hdmi.c | 1 +
drivers/media/i2c/tda1997x.c | 1 -
drivers/soundwire/intel.c | 14 +-
drivers/soundwire/qcom.c | 10 +
include/dt-bindings/sound/qcom,wcd9335.h | 15 +
include/linux/acpi.h | 6 +
include/linux/firmware/cirrus/cs_dsp.h | 77 +-
include/linux/regmap.h | 37 +
include/linux/soundwire/sdw_intel.h | 3 +
include/sound/cs35l41.h | 3 +
include/sound/hdmi-codec.h | 4 +-
include/sound/madera-pdata.h | 2 +-
include/sound/pcm.h | 19 +-
include/sound/simple_card_utils.h | 5 +-
include/sound/soc-acpi-intel-match.h | 2 +
include/sound/soc-card.h | 1 +
include/sound/soc-component.h | 7 +-
include/sound/soc-dai.h | 6 +
include/sound/soc.h | 15 +-
include/sound/sof.h | 1 +
include/sound/sof/dai-amd.h | 7 +
include/sound/sof/dai-intel.h | 2 +
include/sound/sof/dai.h | 2 +-
include/sound/sof/ipc4/header.h | 8 +
include/sound/sof/stream.h | 6 +-
include/uapi/sound/sof/abi.h | 4 +-
include/uapi/sound/sof/header.h | 30 +
include/uapi/sound/sof/tokens.h | 44 +
sound/hda/intel-dsp-config.c | 5 +
sound/pci/ens1370.c | 2 +-
sound/soc/Makefile | 4 +-
sound/soc/adi/axi-i2s.c | 1 +
sound/soc/adi/axi-spdif.c | 1 +
sound/soc/amd/Kconfig | 22 +
sound/soc/amd/Makefile | 3 +
sound/soc/amd/acp-config.c | 30 +
sound/soc/amd/acp-es8336.c | 318 +++
sound/soc/amd/acp-pcm-dma.c | 50 +-
sound/soc/amd/acp.h | 13 +
sound/soc/amd/acp/Kconfig | 12 +
sound/soc/amd/acp/Makefile | 2 +
sound/soc/amd/acp/acp-i2s.c | 169 +-
sound/soc/amd/acp/acp-legacy-mach.c | 32 +
sound/soc/amd/acp/acp-mach-common.c | 301 +-
sound/soc/amd/acp/acp-mach.h | 9 +
sound/soc/amd/acp/acp-pci.c | 35 +-
sound/soc/amd/acp/acp-pdm.c | 10 +-
sound/soc/amd/acp/acp-platform.c | 55 +-
sound/soc/amd/acp/acp-rembrandt.c | 401 +++
sound/soc/amd/acp/acp-renoir.c | 48 +-
sound/soc/amd/acp/acp-sof-mach.c | 30 +
sound/soc/amd/acp/amd.h | 86 +-
sound/soc/amd/acp/chip_offset_byte.h | 40 +-
sound/soc/amd/mach-config.h | 1 +
sound/soc/amd/raven/acp3x-i2s.c | 3 +-
sound/soc/amd/renoir/acp3x-pdm-dma.c | 13 +-
sound/soc/amd/rpl/Makefile | 5 +
sound/soc/amd/rpl/rpl-pci-acp6x.c | 227 ++
sound/soc/amd/rpl/rpl_acp6x.h | 36 +
sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h | 30 +
sound/soc/amd/vangogh/acp5x-i2s.c | 5 +-
sound/soc/amd/vangogh/acp5x-mach.c | 3 +-
sound/soc/amd/yc/acp6x-mach.c | 32 +-
sound/soc/amd/yc/acp6x-pdm-dma.c | 13 +-
sound/soc/amd/yc/pci-acp6x.c | 2 +-
sound/soc/atmel/atmel-classd.c | 1 +
sound/soc/atmel/atmel-i2s.c | 7 +-
sound/soc/atmel/atmel-pdmic.c | 1 +
sound/soc/atmel/atmel_ssc_dai.c | 30 +-
sound/soc/atmel/mchp-i2s-mcc.c | 11 +-
sound/soc/atmel/mchp-pdmc.c | 7 +-
sound/soc/atmel/mchp-spdifrx.c | 22 +-
sound/soc/atmel/mchp-spdiftx.c | 25 +-
sound/soc/atmel/mikroe-proto.c | 4 +-
sound/soc/au1x/ac97c.c | 3 +-
sound/soc/au1x/i2sc.c | 5 +-
sound/soc/au1x/psc-ac97.c | 3 +-
sound/soc/au1x/psc-i2s.c | 7 +-
sound/soc/bcm/bcm2835-i2s.c | 23 +-
sound/soc/bcm/bcm63xx-i2s-whistler.c | 1 +
sound/soc/bcm/cygnus-ssp.c | 11 +-
sound/soc/cirrus/ep93xx-ac97.c | 3 +-
sound/soc/cirrus/ep93xx-i2s.c | 11 +-
sound/soc/codecs/88pm860x-codec.c | 1 -
sound/soc/codecs/Kconfig | 28 +
sound/soc/codecs/Makefile | 6 +
sound/soc/codecs/ab8500-codec.c | 3 -
sound/soc/codecs/ab8500-codec.h | 2 -
sound/soc/codecs/ac97.c | 1 -
sound/soc/codecs/ad1836.c | 1 -
sound/soc/codecs/ad193x.c | 1 -
sound/soc/codecs/ad1980.c | 1 -
sound/soc/codecs/ad73311.c | 1 -
sound/soc/codecs/adau1373.c | 1 -
sound/soc/codecs/adau1701.c | 1 -
sound/soc/codecs/adau1761.c | 1 -
sound/soc/codecs/adau1781.c | 1 -
sound/soc/codecs/adau1977.c | 1 -
sound/soc/codecs/adau7002.c | 1 -
sound/soc/codecs/adau7118.c | 1 -
sound/soc/codecs/adav80x.c | 1 -
sound/soc/codecs/ads117x.c | 1 -
sound/soc/codecs/ak4104.c | 1 -
sound/soc/codecs/ak4118.c | 1 -
sound/soc/codecs/ak4375.c | 1 -
sound/soc/codecs/ak4458.c | 2 -
sound/soc/codecs/ak4535.c | 1 -
sound/soc/codecs/ak4554.c | 1 -
sound/soc/codecs/ak4613.c | 7 -
sound/soc/codecs/ak4641.c | 1 -
sound/soc/codecs/ak4642.c | 1 -
sound/soc/codecs/ak4671.c | 1 -
sound/soc/codecs/ak5386.c | 1 -
sound/soc/codecs/ak5558.c | 2 -
sound/soc/codecs/alc5623.c | 1 -
sound/soc/codecs/alc5632.c | 1 -
sound/soc/codecs/bd28623.c | 1 -
sound/soc/codecs/bt-sco.c | 1 -
sound/soc/codecs/cpcap.c | 1 -
sound/soc/codecs/cq93vc.c | 1 -
sound/soc/codecs/cros_ec_codec.c | 1 +
sound/soc/codecs/cs35l32.c | 1 -
sound/soc/codecs/cs35l33.c | 1 -
sound/soc/codecs/cs35l34.c | 1 -
sound/soc/codecs/cs35l35.c | 1 -
sound/soc/codecs/cs35l36.c | 1 -
sound/soc/codecs/cs35l41-lib.c | 82 +-
sound/soc/codecs/cs35l41-spi.c | 1 +
sound/soc/codecs/cs35l41.c | 101 +-
sound/soc/codecs/cs35l45-i2c.c | 4 +-
sound/soc/codecs/cs35l45.c | 6 +-
sound/soc/codecs/cs35l45.h | 4 +-
sound/soc/codecs/cs4234.c | 1 -
sound/soc/codecs/cs4265.c | 1 -
sound/soc/codecs/cs4270.c | 2 -
sound/soc/codecs/cs4271.c | 1 -
sound/soc/codecs/cs42l42.c | 4 +-
sound/soc/codecs/cs42l51.c | 1 -
sound/soc/codecs/cs42l52.c | 1 -
sound/soc/codecs/cs42l56.c | 1 -
sound/soc/codecs/cs42l73.c | 1 -
sound/soc/codecs/cs42xx8.c | 1 -
sound/soc/codecs/cs43130.c | 1 -
sound/soc/codecs/cs4341.c | 1 -
sound/soc/codecs/cs4349.c | 1 -
sound/soc/codecs/cs47l15.c | 1 -
sound/soc/codecs/cs47l24.c | 1 -
sound/soc/codecs/cs47l35.c | 1 -
sound/soc/codecs/cs47l85.c | 1 -
sound/soc/codecs/cs47l90.c | 1 -
sound/soc/codecs/cs47l92.c | 1 -
sound/soc/codecs/cs53l30.c | 1 -
sound/soc/codecs/cx20442.c | 1 -
sound/soc/codecs/cx2072x.c | 17 +-
sound/soc/codecs/da7210.c | 3 +-
sound/soc/codecs/da7213.c | 1 -
sound/soc/codecs/da7218.c | 1 -
sound/soc/codecs/da7219.c | 7 -
sound/soc/codecs/da732x.c | 7 -
sound/soc/codecs/da9055.c | 1 -
sound/soc/codecs/dmic.c | 1 -
sound/soc/codecs/es7134.c | 1 -
sound/soc/codecs/es7241.c | 1 -
sound/soc/codecs/es8316.c | 21 +-
sound/soc/codecs/es8328.c | 1 -
sound/soc/codecs/gtm601.c | 1 -
sound/soc/codecs/hda-dai.c | 102 +
sound/soc/codecs/hda.c | 395 +++
sound/soc/codecs/hda.h | 19 +
sound/soc/codecs/hdac_hdmi.c | 1 -
sound/soc/codecs/hdmi-codec.c | 19 +-
sound/soc/codecs/ics43432.c | 1 -
sound/soc/codecs/inno_rk3036.c | 1 -
sound/soc/codecs/isabelle.c | 1 -
sound/soc/codecs/jz4740.c | 2 -
sound/soc/codecs/lm49453.c | 7 -
sound/soc/codecs/lochnagar-sc.c | 1 -
sound/soc/codecs/max98088.c | 33 +-
sound/soc/codecs/max98090.c | 13 +-
sound/soc/codecs/max98095.c | 1 -
sound/soc/codecs/max98357a.c | 1 -
sound/soc/codecs/max98371.c | 1 -
sound/soc/codecs/max98373.c | 16 +-
sound/soc/codecs/max98390.c | 3 +-
sound/soc/codecs/max98396.c | 271 +-
sound/soc/codecs/max98396.h | 10 +-
sound/soc/codecs/max9850.c | 1 -
sound/soc/codecs/max98520.c | 1 -
sound/soc/codecs/max9860.c | 7 +-
sound/soc/codecs/max9867.c | 1 -
sound/soc/codecs/max98925.c | 1 -
sound/soc/codecs/max98926.c | 1 -
sound/soc/codecs/max98927.c | 1 -
sound/soc/codecs/mc13783.c | 1 -
sound/soc/codecs/ml26124.c | 1 -
sound/soc/codecs/msm8916-wcd-analog.c | 1 -
sound/soc/codecs/msm8916-wcd-digital.c | 47 +-
sound/soc/codecs/mt6358.c | 1 +
sound/soc/codecs/mt6359-accdet.c | 1 +
sound/soc/codecs/mt6359.c | 1 +
sound/soc/codecs/nau8315.c | 1 -
sound/soc/codecs/nau8540.c | 1 -
sound/soc/codecs/nau8810.c | 1 -
sound/soc/codecs/nau8821.c | 76 +-
sound/soc/codecs/nau8821.h | 1 +
sound/soc/codecs/nau8822.c | 15 +-
sound/soc/codecs/nau8822.h | 2 +
sound/soc/codecs/nau8824.c | 1 -
sound/soc/codecs/nau8825.c | 3 +-
sound/soc/codecs/pcm1681.c | 1 -
sound/soc/codecs/pcm1789.c | 1 -
sound/soc/codecs/pcm179x.c | 1 -
sound/soc/codecs/pcm186x.c | 2 -
sound/soc/codecs/pcm3008.c | 1 -
sound/soc/codecs/pcm3168a.c | 1 -
sound/soc/codecs/pcm5102a.c | 1 -
sound/soc/codecs/pcm512x.c | 1 -
sound/soc/codecs/rk3328_codec.c | 6 +-
sound/soc/codecs/rk817_codec.c | 1 -
sound/soc/codecs/rt1011.c | 1 -
sound/soc/codecs/rt1015.c | 1 -
sound/soc/codecs/rt1015p.c | 1 -
sound/soc/codecs/rt1016.c | 1 -
sound/soc/codecs/rt1019.c | 1 -
sound/soc/codecs/rt1305.c | 1 -
sound/soc/codecs/rt1308-sdw.c | 12 +
sound/soc/codecs/rt1308.c | 1 -
sound/soc/codecs/rt1316-sdw.c | 12 +
sound/soc/codecs/rt274.c | 11 +-
sound/soc/codecs/rt286.c | 19 +-
sound/soc/codecs/rt286.h | 2 -
sound/soc/codecs/rt298.c | 61 +-
sound/soc/codecs/rt298.h | 2 -
sound/soc/codecs/rt5514.c | 1 -
sound/soc/codecs/rt5616.c | 1 -
sound/soc/codecs/rt5631.c | 1 -
sound/soc/codecs/rt5640.c | 13 +-
sound/soc/codecs/rt5645.c | 1 -
sound/soc/codecs/rt5651.c | 1 -
sound/soc/codecs/rt5659.c | 1 -
sound/soc/codecs/rt5660.c | 1 -
sound/soc/codecs/rt5663.c | 1 -
sound/soc/codecs/rt5665.c | 1 -
sound/soc/codecs/rt5668.c | 1 -
sound/soc/codecs/rt5670.c | 1 -
sound/soc/codecs/rt5677.c | 1 -
sound/soc/codecs/rt5682.c | 1 -
sound/soc/codecs/rt5682s.c | 1 -
sound/soc/codecs/rt700.c | 5 +
sound/soc/codecs/rt711-sdca.c | 5 +
sound/soc/codecs/rt711.c | 5 +
sound/soc/codecs/rt715-sdca.c | 12 +
sound/soc/codecs/rt715.c | 12 +
sound/soc/codecs/sgtl5000.c | 1 -
sound/soc/codecs/si476x.c | 1 -
sound/soc/codecs/spdif_receiver.c | 1 -
sound/soc/codecs/spdif_transmitter.c | 1 -
sound/soc/codecs/ssm2518.c | 5 +-
sound/soc/codecs/ssm2602.c | 7 +-
sound/soc/codecs/ssm4567.c | 5 +-
sound/soc/codecs/sta32x.c | 5 +-
sound/soc/codecs/sta350.c | 5 +-
sound/soc/codecs/sta529.c | 1 -
sound/soc/codecs/stac9766.c | 2 -
sound/soc/codecs/sti-sas.c | 7 +-
sound/soc/codecs/tas2552.c | 13 +-
sound/soc/codecs/tas2562.c | 2 -
sound/soc/codecs/tas2764.c | 1 -
sound/soc/codecs/tas2770.c | 7 +-
sound/soc/codecs/tas2780.c | 663 +++++
sound/soc/codecs/tas2780.h | 101 +
sound/soc/codecs/tas5086.c | 3 +-
sound/soc/codecs/tas571x.c | 1 -
sound/soc/codecs/tas5720.c | 6 +-
sound/soc/codecs/tas5805m.c | 1 -
sound/soc/codecs/tas6424.c | 7 +-
sound/soc/codecs/tfa9879.c | 5 +-
sound/soc/codecs/tfa989x.c | 31 +-
sound/soc/codecs/tlv320adc3xxx.c | 3 +-
sound/soc/codecs/tlv320adcx140.c | 11 +-
sound/soc/codecs/tlv320aic23.c | 8 +-
sound/soc/codecs/tlv320aic26.c | 16 +-
sound/soc/codecs/tlv320aic31xx.c | 20 +-
sound/soc/codecs/tlv320aic32x4.c | 11 +-
sound/soc/codecs/tlv320aic3x.c | 12 +-
sound/soc/codecs/tlv320dac33.c | 13 +-
sound/soc/codecs/tscs42xx.c | 1 -
sound/soc/codecs/twl4030.c | 102 +-
sound/soc/codecs/twl6040.c | 1 -
sound/soc/codecs/uda1334.c | 3 +-
sound/soc/codecs/uda134x.c | 1 -
sound/soc/codecs/uda1380.c | 1 -
sound/soc/codecs/wcd-mbhc-v2.c | 12 +-
sound/soc/codecs/wcd9335.c | 98 +-
sound/soc/codecs/wl1273.c | 1 -
sound/soc/codecs/wm0010.c | 1 -
sound/soc/codecs/wm1250-ev1.c | 1 -
sound/soc/codecs/wm2000.c | 1 -
sound/soc/codecs/wm2200.c | 1 -
sound/soc/codecs/wm5100.c | 1 -
sound/soc/codecs/wm5102.c | 1 -
sound/soc/codecs/wm5110.c | 1 -
sound/soc/codecs/wm8350.c | 1 -
sound/soc/codecs/wm8400.c | 1 -
sound/soc/codecs/wm8510.c | 1 -
sound/soc/codecs/wm8523.c | 1 -
sound/soc/codecs/wm8524.c | 1 -
sound/soc/codecs/wm8580.c | 1 -
sound/soc/codecs/wm8711.c | 1 -
sound/soc/codecs/wm8727.c | 1 -
sound/soc/codecs/wm8728.c | 1 -
sound/soc/codecs/wm8731.c | 1 -
sound/soc/codecs/wm8737.c | 1 -
sound/soc/codecs/wm8741.c | 1 -
sound/soc/codecs/wm8750.c | 1 -
sound/soc/codecs/wm8753.c | 1 -
sound/soc/codecs/wm8770.c | 1 -
sound/soc/codecs/wm8776.c | 1 -
sound/soc/codecs/wm8782.c | 1 -
sound/soc/codecs/wm8804.c | 1 -
sound/soc/codecs/wm8900.c | 1 -
sound/soc/codecs/wm8903.c | 1 -
sound/soc/codecs/wm8904.c | 1 -
sound/soc/codecs/wm8940.c | 1 -
sound/soc/codecs/wm8955.c | 1 -
sound/soc/codecs/wm8960.c | 1 -
sound/soc/codecs/wm8961.c | 1 -
sound/soc/codecs/wm8962.c | 1 -
sound/soc/codecs/wm8971.c | 1 -
sound/soc/codecs/wm8974.c | 1 -
sound/soc/codecs/wm8978.c | 1 -
sound/soc/codecs/wm8983.c | 1 -
sound/soc/codecs/wm8985.c | 1 -
sound/soc/codecs/wm8988.c | 1 -
sound/soc/codecs/wm8990.c | 1 -
sound/soc/codecs/wm8991.c | 1 -
sound/soc/codecs/wm8993.c | 1 -
sound/soc/codecs/wm8994.c | 1 -
sound/soc/codecs/wm8995.c | 1 -
sound/soc/codecs/wm8996.c | 2 -
sound/soc/codecs/wm8997.c | 1 -
sound/soc/codecs/wm8998.c | 1 -
sound/soc/codecs/wm9081.c | 1 -
sound/soc/codecs/wm9090.c | 1 -
sound/soc/codecs/wm9705.c | 1 -
sound/soc/codecs/wm9712.c | 1 -
sound/soc/codecs/wm9713.c | 1 -
sound/soc/codecs/wm_adsp.c | 25 +-
sound/soc/codecs/wsa881x.c | 16 +-
sound/soc/codecs/wsa883x.c | 1511 ++++++++++
sound/soc/codecs/zl38060.c | 1 -
sound/soc/dwc/dwc-i2s.c | 15 +-
sound/soc/fsl/Kconfig | 3 +
sound/soc/fsl/fsl-asoc-card.c | 5 +-
sound/soc/fsl/fsl_asrc.c | 6 +-
sound/soc/fsl/fsl_asrc_dma.c | 19 +-
sound/soc/fsl/fsl_aud2htx.c | 3 +-
sound/soc/fsl/fsl_audmix.c | 6 +-
sound/soc/fsl/fsl_easrc.c | 16 +-
sound/soc/fsl/fsl_easrc.h | 2 +-
sound/soc/fsl/fsl_esai.c | 11 +-
sound/soc/fsl/fsl_micfil.c | 55 +-
sound/soc/fsl/fsl_micfil.h | 9 +
sound/soc/fsl/fsl_mqs.c | 136 +-
sound/soc/fsl/fsl_rpmsg.c | 3 +-
sound/soc/fsl/fsl_sai.c | 375 ++-
sound/soc/fsl/fsl_sai.h | 28 +-
sound/soc/fsl/fsl_spdif.c | 51 +-
sound/soc/fsl/fsl_ssi.c | 23 +-
sound/soc/fsl/fsl_utils.c | 69 +
sound/soc/fsl/fsl_utils.h | 7 +
sound/soc/fsl/fsl_xcvr.c | 12 +-
sound/soc/fsl/imx-audmix.c | 4 +-
sound/soc/fsl/imx-audmux.c | 24 +-
sound/soc/fsl/imx-card.c | 24 +-
sound/soc/fsl/mpc5200_psc_i2s.c | 3 +-
sound/soc/fsl/pcm030-audio-fabric.c | 8 +-
sound/soc/generic/audio-graph-card.c | 4 +-
.../generic/audio-graph-card2-custom-sample.dtsi | 101 +-
sound/soc/generic/audio-graph-card2.c | 78 +-
sound/soc/generic/simple-card-utils.c | 44 +-
sound/soc/generic/test-component.c | 20 +-
sound/soc/hisilicon/hi6210-i2s.c | 19 +-
sound/soc/img/img-i2s-in.c | 7 +-
sound/soc/img/img-i2s-out.c | 21 +-
sound/soc/img/img-parallel-out.c | 3 +-
sound/soc/img/img-spdif-in.c | 3 +-
sound/soc/img/img-spdif-out.c | 3 +-
sound/soc/img/pistachio-internal-dac.c | 1 -
sound/soc/intel/Kconfig | 5 +-
sound/soc/intel/atom/sst-atom-controls.c | 8 +-
sound/soc/intel/atom/sst/sst.c | 2 +-
sound/soc/intel/atom/sst/sst_ipc.c | 8 +-
sound/soc/intel/avs/Makefile | 3 +
sound/soc/intel/avs/boards/Kconfig | 121 +
sound/soc/intel/avs/boards/Makefile | 27 +
sound/soc/intel/avs/boards/da7219.c | 282 ++
sound/soc/intel/avs/boards/dmic.c | 93 +
sound/soc/intel/avs/boards/hdaudio.c | 294 ++
sound/soc/intel/avs/boards/i2s_test.c | 180 ++
sound/soc/intel/avs/boards/max98357a.c | 154 +
sound/soc/intel/avs/boards/max98373.c | 239 ++
sound/soc/intel/avs/boards/nau8825.c | 353 +++
sound/soc/intel/avs/boards/rt274.c | 310 ++
sound/soc/intel/avs/boards/rt286.c | 281 ++
sound/soc/intel/avs/boards/rt298.c | 281 ++
sound/soc/intel/avs/boards/rt5682.c | 340 +++
sound/soc/intel/avs/boards/ssm4567.c | 271 ++
sound/soc/intel/avs/cldma.c | 12 +-
sound/soc/intel/avs/core.c | 13 +-
sound/soc/intel/avs/dsp.c | 11 +-
sound/soc/intel/avs/ipc.c | 1 +
sound/soc/intel/avs/loader.c | 2 +-
sound/soc/intel/avs/messages.c | 18 +-
sound/soc/intel/avs/path.c | 54 +-
sound/soc/intel/avs/pcm.c | 2 -
sound/soc/intel/avs/topology.c | 27 +
sound/soc/intel/boards/Kconfig | 5 +-
sound/soc/intel/boards/Makefile | 4 +-
sound/soc/intel/boards/bdw-rt5650.c | 1 +
sound/soc/intel/boards/bdw-rt5677.c | 1 +
sound/soc/intel/boards/bdw_rt286.c | 280 ++
sound/soc/intel/boards/broadwell.c | 336 ---
sound/soc/intel/boards/bxt_da7219_max98357a.c | 21 +-
sound/soc/intel/boards/bxt_rt298.c | 2 +-
sound/soc/intel/boards/bytcht_cx2072x.c | 2 +-
sound/soc/intel/boards/bytcht_da7213.c | 2 +-
sound/soc/intel/boards/bytcht_es8316.c | 2 +-
sound/soc/intel/boards/bytcht_nocodec.c | 2 +-
sound/soc/intel/boards/bytcr_rt5640.c | 4 +-
sound/soc/intel/boards/bytcr_rt5651.c | 4 +-
sound/soc/intel/boards/bytcr_wm5102.c | 2 +-
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 3 +-
sound/soc/intel/boards/cht_bsw_rt5645.c | 8 +-
sound/soc/intel/boards/cht_bsw_rt5672.c | 2 +-
sound/soc/intel/boards/cml_rt1011_rt5682.c | 23 +-
sound/soc/intel/boards/glk_rt5682_max98357a.c | 21 +-
sound/soc/intel/boards/haswell.c | 202 --
sound/soc/intel/boards/hda_dsp_common.c | 4 +-
sound/soc/intel/boards/hsw_rt5640.c | 177 ++
sound/soc/intel/boards/kbl_da7219_max98357a.c | 21 +-
sound/soc/intel/boards/kbl_da7219_max98927.c | 21 +-
sound/soc/intel/boards/kbl_rt5663_max98927.c | 21 +-
.../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 21 +-
sound/soc/intel/boards/skl_hda_dsp_generic.c | 4 +-
sound/soc/intel/boards/skl_nau88l25_max98357a.c | 19 +-
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 19 +-
sound/soc/intel/boards/skl_rt286.c | 2 +-
sound/soc/intel/boards/sof_cs42l42.c | 109 +-
sound/soc/intel/boards/sof_da7219_max98373.c | 23 +-
sound/soc/intel/boards/sof_es8336.c | 160 +-
sound/soc/intel/boards/sof_nau8825.c | 33 +-
sound/soc/intel/boards/sof_pcm512x.c | 2 +-
sound/soc/intel/boards/sof_realtek_common.c | 24 +-
sound/soc/intel/boards/sof_realtek_common.h | 6 +-
sound/soc/intel/boards/sof_rt5682.c | 51 +-
sound/soc/intel/boards/sof_sdw.c | 53 +-
sound/soc/intel/boards/sof_sdw_rt711.c | 3 +
sound/soc/intel/boards/sof_sdw_rt711_sdca.c | 3 +
sound/soc/intel/catpt/device.c | 5 +-
sound/soc/intel/catpt/pcm.c | 26 +-
sound/soc/intel/catpt/sysfs.c | 4 +-
sound/soc/intel/common/Makefile | 1 +
sound/soc/intel/common/soc-acpi-intel-adl-match.c | 61 +
.../intel/common/soc-acpi-intel-hsw-bdw-match.c | 6 +-
sound/soc/intel/common/soc-acpi-intel-mtl-match.c | 89 +
sound/soc/intel/keembay/kmb_platform.c | 18 +-
sound/soc/intel/skylake/skl-pcm.c | 5 +-
sound/soc/intel/skylake/skl-topology.c | 6 -
sound/soc/jz4740/Kconfig | 2 +-
sound/soc/jz4740/jz4740-i2s.c | 44 +-
sound/soc/mediatek/Kconfig | 45 +
sound/soc/mediatek/Makefile | 1 +
sound/soc/mediatek/common/Makefile | 2 +-
sound/soc/mediatek/common/mtk-dsp-sof-common.c | 196 ++
sound/soc/mediatek/common/mtk-dsp-sof-common.h | 36 +
sound/soc/mediatek/common/mtk-soc-card.h | 17 +
sound/soc/mediatek/mt6797/mt6797-mt6351.c | 6 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 6 +-
sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c | 10 +-
sound/soc/mediatek/mt8173/mt8173-rt5650.c | 9 +-
sound/soc/mediatek/mt8186/Makefile | 22 +
sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 652 +++++
sound/soc/mediatek/mt8186/mt8186-afe-clk.h | 106 +
sound/soc/mediatek/mt8186/mt8186-afe-common.h | 195 ++
sound/soc/mediatek/mt8186/mt8186-afe-control.c | 255 ++
sound/soc/mediatek/mt8186/mt8186-afe-gpio.c | 243 ++
sound/soc/mediatek/mt8186/mt8186-afe-gpio.h | 19 +
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 3000 ++++++++++++++++++++
sound/soc/mediatek/mt8186/mt8186-audsys-clk.c | 150 +
sound/soc/mediatek/mt8186/mt8186-audsys-clk.h | 15 +
sound/soc/mediatek/mt8186/mt8186-audsys-clkid.h | 45 +
sound/soc/mediatek/mt8186/mt8186-dai-adda.c | 865 ++++++
sound/soc/mediatek/mt8186/mt8186-dai-hostless.c | 298 ++
sound/soc/mediatek/mt8186/mt8186-dai-hw-gain.c | 236 ++
sound/soc/mediatek/mt8186/mt8186-dai-i2s.c | 1223 ++++++++
sound/soc/mediatek/mt8186/mt8186-dai-pcm.c | 418 +++
sound/soc/mediatek/mt8186/mt8186-dai-src.c | 695 +++++
sound/soc/mediatek/mt8186/mt8186-dai-tdm.c | 645 +++++
sound/soc/mediatek/mt8186/mt8186-interconnection.h | 69 +
sound/soc/mediatek/mt8186/mt8186-misc-control.c | 252 ++
sound/soc/mediatek/mt8186/mt8186-mt6366-common.c | 57 +
sound/soc/mediatek/mt8186/mt8186-mt6366-common.h | 17 +
.../mt8186/mt8186-mt6366-da7219-max98357.c | 1002 +++++++
.../mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c | 978 +++++++
sound/soc/mediatek/mt8186/mt8186-reg.h | 2913 +++++++++++++++++++
sound/soc/mediatek/mt8195/mt8195-afe-clk.c | 8 +-
sound/soc/mediatek/mt8195/mt8195-dai-etdm.c | 6 +-
sound/soc/mediatek/mt8195/mt8195-dai-pcm.c | 6 +-
sound/soc/mediatek/mt8195/mt8195-mt6359.c | 233 +-
sound/soc/meson/aiu-acodec-ctrl.c | 1 -
sound/soc/meson/aiu-codec-ctrl.c | 1 -
sound/soc/meson/aiu-encoder-i2s.c | 2 +-
sound/soc/meson/axg-frddr.c | 3 +
sound/soc/meson/axg-pdm.c | 4 +-
sound/soc/meson/axg-spdifin.c | 1 +
sound/soc/meson/axg-spdifout.c | 1 +
sound/soc/meson/axg-tdm-interface.c | 14 +-
sound/soc/meson/axg-toddr.c | 3 +
sound/soc/meson/g12a-toacodec.c | 2 -
sound/soc/meson/g12a-tohdmitx.c | 1 -
sound/soc/meson/meson-codec-glue.c | 2 +-
sound/soc/meson/t9015.c | 1 -
sound/soc/mxs/mxs-saif.c | 7 +-
sound/soc/pxa/magician.c | 8 +-
sound/soc/pxa/mmp-sspa.c | 15 +-
sound/soc/pxa/pxa-ssp.c | 43 +-
sound/soc/pxa/pxa2xx-i2s.c | 27 +-
sound/soc/qcom/apq8016_sbc.c | 2 +-
sound/soc/qcom/lpass-apq8016.c | 1 +
sound/soc/qcom/lpass-cpu.c | 7 +
sound/soc/qcom/qdsp6/audioreach.c | 4 +-
sound/soc/qcom/qdsp6/q6adm.c | 8 +-
sound/soc/qcom/qdsp6/q6afe.c | 6 +-
sound/soc/qcom/qdsp6/q6asm-dai.c | 23 +-
sound/soc/qcom/qdsp6/q6asm.c | 2 +-
sound/soc/qcom/sc7180.c | 2 +-
sound/soc/qcom/sc7280.c | 33 +
sound/soc/qcom/sdm845.c | 6 +-
sound/soc/qcom/sm8250.c | 4 +-
sound/soc/rockchip/rk3288_hdmi_analog.c | 4 +-
sound/soc/rockchip/rockchip_i2s.c | 182 +-
sound/soc/rockchip/rockchip_i2s_tdm.c | 13 +-
sound/soc/rockchip/rockchip_pdm.c | 7 +-
sound/soc/rockchip/rockchip_spdif.c | 1 +
sound/soc/samsung/Kconfig | 20 +-
sound/soc/samsung/aries_wm8994.c | 7 +-
sound/soc/samsung/h1940_uda1380.c | 2 +-
sound/soc/samsung/i2s.c | 8 +-
sound/soc/samsung/neo1973_wm8753.c | 2 +-
sound/soc/samsung/pcm.c | 7 +-
sound/soc/samsung/rx1950_uda1380.c | 4 +-
sound/soc/samsung/s3c-i2s-v2.c | 17 +-
sound/soc/samsung/s3c2412-i2s.c | 7 +-
sound/soc/samsung/s3c24xx-i2s.c | 14 +-
sound/soc/samsung/snow.c | 2 +-
sound/soc/samsung/spdif.c | 7 +-
sound/soc/sh/fsi.c | 6 +-
sound/soc/sh/hac.c | 3 +-
sound/soc/sh/rcar/core.c | 30 +-
sound/soc/sh/rcar/ssiu.c | 2 +
sound/soc/sh/rz-ssi.c | 11 +-
sound/soc/sh/siu_pcm.c | 17 +-
sound/soc/sh/ssi.c | 13 +-
sound/soc/soc-card.c | 6 +
sound/soc/soc-core.c | 167 +-
sound/soc/soc-dai.c | 3 +-
sound/soc/soc-dapm.c | 10 +-
sound/soc/soc-ops.c | 51 +-
sound/soc/soc-pcm.c | 3 +-
sound/soc/soc-topology-test.c | 37 +-
sound/soc/soc-utils.c | 1 -
sound/soc/sof/Kconfig | 7 +
sound/soc/sof/Makefile | 16 +-
sound/soc/sof/amd/Kconfig | 1 +
sound/soc/sof/amd/acp-dsp-offset.h | 2 +
sound/soc/sof/amd/acp.c | 36 +
sound/soc/sof/amd/acp.h | 4 +
sound/soc/sof/amd/pci-rn.c | 4 +
sound/soc/sof/amd/renoir.c | 4 +
sound/soc/sof/compress.c | 73 +-
sound/soc/sof/core.c | 7 +-
sound/soc/sof/debug.c | 5 +-
sound/soc/sof/imx/Kconfig | 1 +
sound/soc/sof/intel/Kconfig | 27 +
sound/soc/sof/intel/Makefile | 4 +-
sound/soc/sof/intel/apl.c | 1 +
sound/soc/sof/intel/atom.c | 16 +-
sound/soc/sof/intel/bdw.c | 7 +-
sound/soc/sof/intel/byt.c | 5 +-
sound/soc/sof/intel/cnl.c | 39 +-
sound/soc/sof/intel/hda-dai.c | 226 +-
sound/soc/sof/intel/hda-dsp.c | 26 +-
sound/soc/sof/intel/hda-ipc.c | 39 +-
sound/soc/sof/intel/hda-loader.c | 28 +-
sound/soc/sof/intel/hda-probes.c | 16 +-
sound/soc/sof/intel/hda-stream.c | 21 +-
sound/soc/sof/intel/hda.c | 235 +-
sound/soc/sof/intel/hda.h | 70 +
sound/soc/sof/intel/icl.c | 1 +
sound/soc/sof/intel/mtl.c | 794 ++++++
sound/soc/sof/intel/mtl.h | 76 +
sound/soc/sof/intel/pci-apl.c | 1 +
sound/soc/sof/intel/pci-cnl.c | 1 +
sound/soc/sof/intel/pci-icl.c | 1 +
sound/soc/sof/intel/pci-mtl.c | 71 +
sound/soc/sof/intel/pci-tgl.c | 1 +
sound/soc/sof/intel/shim.h | 2 +
sound/soc/sof/intel/tgl.c | 34 +-
sound/soc/sof/ipc.c | 24 +-
sound/soc/sof/ipc3-dtrace.c | 55 +-
sound/soc/sof/ipc3-loader.c | 17 +-
sound/soc/sof/ipc3-pcm.c | 11 +-
sound/soc/sof/ipc3-topology.c | 73 +-
sound/soc/sof/ipc3.c | 36 +-
sound/soc/sof/ipc4-control.c | 216 ++
sound/soc/sof/ipc4-pcm.c | 234 ++
sound/soc/sof/ipc4-priv.h | 7 +
sound/soc/sof/ipc4-topology.c | 1921 +++++++++++++
sound/soc/sof/ipc4-topology.h | 270 ++
sound/soc/sof/ipc4.c | 45 +-
sound/soc/sof/mediatek/Kconfig | 1 +
sound/soc/sof/mediatek/adsp_helper.h | 1 +
sound/soc/sof/mediatek/mt8186/mt8186-clk.c | 4 +-
sound/soc/sof/mediatek/mt8195/mt8195-clk.c | 7 +
sound/soc/sof/mediatek/mt8195/mt8195-loader.c | 13 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 50 +-
sound/soc/sof/mediatek/mt8195/mt8195.h | 5 +
sound/soc/sof/ops.h | 6 +
sound/soc/sof/pcm.c | 13 +
sound/soc/sof/sof-audio.h | 12 +
sound/soc/sof/sof-client-ipc-msg-injector.c | 29 +-
sound/soc/sof/sof-client-probes.c | 13 +-
sound/soc/sof/sof-client-probes.h | 8 +-
sound/soc/sof/sof-client.c | 4 +-
sound/soc/sof/sof-priv.h | 15 +-
sound/soc/sof/topology.c | 121 +-
sound/soc/spear/spdif_in.c | 3 +-
sound/soc/spear/spdif_out.c | 3 +-
sound/soc/sti/sti_uniperif.c | 3 +-
sound/soc/stm/stm32_adfsdm.c | 3 +-
sound/soc/stm/stm32_i2s.c | 9 +-
sound/soc/stm/stm32_sai_sub.c | 11 +-
sound/soc/stm/stm32_spdifrx.c | 1 +
sound/soc/sunxi/sun4i-codec.c | 85 +-
sound/soc/sunxi/sun4i-i2s.c | 23 +-
sound/soc/sunxi/sun4i-spdif.c | 3 +-
sound/soc/sunxi/sun50i-codec-analog.c | 8 +
sound/soc/sunxi/sun8i-codec.c | 7 +-
sound/soc/tegra/Kconfig | 9 +
sound/soc/tegra/Makefile | 2 +
sound/soc/tegra/tegra20_ac97.c | 5 +-
sound/soc/tegra/tegra20_das.c | 198 +-
sound/soc/tegra/tegra20_das.h | 120 -
sound/soc/tegra/tegra20_i2s.c | 9 +-
sound/soc/tegra/tegra20_spdif.c | 1 +
sound/soc/tegra/tegra210_adx.c | 2 +-
sound/soc/tegra/tegra210_ahub.c | 39 +-
sound/soc/tegra/tegra210_i2s.c | 7 +-
sound/soc/tegra/tegra210_mbdrc.c | 1014 +++++++
sound/soc/tegra/tegra210_mbdrc.h | 215 ++
sound/soc/tegra/tegra210_ope.c | 419 +++
sound/soc/tegra/tegra210_ope.h | 90 +
sound/soc/tegra/tegra210_peq.c | 434 +++
sound/soc/tegra/tegra210_peq.h | 56 +
sound/soc/tegra/tegra30_i2s.c | 9 +-
sound/soc/ti/davinci-i2s.c | 35 +-
sound/soc/ti/davinci-mcasp.c | 16 +-
sound/soc/ti/davinci-vcif.c | 3 +-
sound/soc/ti/omap-dmic.c | 3 +-
sound/soc/ti/omap-hdmi.c | 1 +
sound/soc/ti/omap-mcbsp.c | 15 +-
sound/soc/ti/omap-mcpdm.c | 7 +-
sound/soc/uniphier/evea.c | 1 -
sound/soc/ux500/mop500.c | 2 -
sound/soc/ux500/mop500_ab8500.c | 2 -
sound/soc/ux500/mop500_ab8500.h | 2 -
sound/soc/ux500/ux500_msp_dai.c | 41 +-
sound/soc/ux500/ux500_msp_dai.h | 2 -
sound/soc/ux500/ux500_msp_i2s.c | 2 -
sound/soc/ux500/ux500_msp_i2s.h | 2 -
sound/soc/ux500/ux500_pcm.c | 2 -
sound/soc/ux500/ux500_pcm.h | 2 -
sound/soc/xilinx/xlnx_formatter_pcm.c | 18 +-
sound/soc/xilinx/xlnx_i2s.c | 1 +
sound/soc/xilinx/xlnx_spdif.c | 1 +
sound/soc/xtensa/xtfpga-i2s.c | 19 +-
736 files changed, 35467 insertions(+), 3857 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dsp/mediatek,mt8186-dsp.yaml
create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml
create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-i2s.yaml
create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/atmel-classd.txt
delete mode 100644 Documentation/devicetree/bindings/sound/atmel-i2s.txt
delete mode 100644 Documentation/devicetree/bindings/sound/atmel-pdmic.txt
delete mode 100644 Documentation/devicetree/bindings/sound/designware-i2s.txt
delete mode 100644 Documentation/devicetree/bindings/sound/fsl,micfil.txt
create mode 100644 Documentation/devicetree/bindings/sound/fsl,micfil.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mt8186-afe-pcm.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mt8186-mt6366-da7219-max98357.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mt8186-mt6366-rt1019-rt5682s.yaml
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/qcom,sdm845.txt
create mode 100644 Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml
create mode 100644 Documentation/devicetree/bindings/sound/snps,designware-i2s.yaml
create mode 100644 include/dt-bindings/sound/qcom,wcd9335.h
create mode 100644 sound/soc/amd/acp-es8336.c
create mode 100644 sound/soc/amd/acp/acp-rembrandt.c
create mode 100644 sound/soc/amd/rpl/Makefile
create mode 100644 sound/soc/amd/rpl/rpl-pci-acp6x.c
create mode 100644 sound/soc/amd/rpl/rpl_acp6x.h
create mode 100644 sound/soc/amd/rpl/rpl_acp6x_chip_offset_byte.h
create mode 100644 sound/soc/codecs/hda-dai.c
create mode 100644 sound/soc/codecs/hda.c
create mode 100644 sound/soc/codecs/hda.h
create mode 100644 sound/soc/codecs/tas2780.c
create mode 100644 sound/soc/codecs/tas2780.h
create mode 100644 sound/soc/codecs/wsa883x.c
create mode 100644 sound/soc/intel/avs/boards/Kconfig
create mode 100644 sound/soc/intel/avs/boards/Makefile
create mode 100644 sound/soc/intel/avs/boards/da7219.c
create mode 100644 sound/soc/intel/avs/boards/dmic.c
create mode 100644 sound/soc/intel/avs/boards/hdaudio.c
create mode 100644 sound/soc/intel/avs/boards/i2s_test.c
create mode 100644 sound/soc/intel/avs/boards/max98357a.c
create mode 100644 sound/soc/intel/avs/boards/max98373.c
create mode 100644 sound/soc/intel/avs/boards/nau8825.c
create mode 100644 sound/soc/intel/avs/boards/rt274.c
create mode 100644 sound/soc/intel/avs/boards/rt286.c
create mode 100644 sound/soc/intel/avs/boards/rt298.c
create mode 100644 sound/soc/intel/avs/boards/rt5682.c
create mode 100644 sound/soc/intel/avs/boards/ssm4567.c
create mode 100644 sound/soc/intel/boards/bdw_rt286.c
delete mode 100644 sound/soc/intel/boards/broadwell.c
delete mode 100644 sound/soc/intel/boards/haswell.c
create mode 100644 sound/soc/intel/boards/hsw_rt5640.c
create mode 100644 sound/soc/intel/common/soc-acpi-intel-mtl-match.c
create mode 100644 sound/soc/mediatek/common/mtk-dsp-sof-common.c
create mode 100644 sound/soc/mediatek/common/mtk-dsp-sof-common.h
create mode 100644 sound/soc/mediatek/common/mtk-soc-card.h
create mode 100644 sound/soc/mediatek/mt8186/Makefile
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-clk.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-clk.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-common.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-control.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-gpio.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-gpio.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-audsys-clk.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-audsys-clk.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-audsys-clkid.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-adda.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-hostless.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-hw-gain.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-i2s.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-pcm.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-src.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-dai-tdm.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-interconnection.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-misc-control.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-mt6366-common.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-mt6366-common.h
create mode 100644 sound/soc/mediatek/mt8186/mt8186-mt6366-da7219-max98357.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c
create mode 100644 sound/soc/mediatek/mt8186/mt8186-reg.h
create mode 100644 sound/soc/sof/intel/mtl.c
create mode 100644 sound/soc/sof/intel/mtl.h
create mode 100644 sound/soc/sof/intel/pci-mtl.c
create mode 100644 sound/soc/sof/ipc4-control.c
create mode 100644 sound/soc/sof/ipc4-pcm.c
create mode 100644 sound/soc/sof/ipc4-topology.c
create mode 100644 sound/soc/sof/ipc4-topology.h
delete mode 100644 sound/soc/tegra/tegra20_das.h
create mode 100644 sound/soc/tegra/tegra210_mbdrc.c
create mode 100644 sound/soc/tegra/tegra210_mbdrc.h
create mode 100644 sound/soc/tegra/tegra210_ope.c
create mode 100644 sound/soc/tegra/tegra210_ope.h
create mode 100644 sound/soc/tegra/tegra210_peq.c
create mode 100644 sound/soc/tegra/tegra210_peq.h
2
2
Hi,
this is a revised patch series for another attempt to address the
potential deadlocks via kill_fasync() calls that have been reported by
syzbot for long time. Only a missing linux/fs.h inclusion was added
from v1 series[1].
Instead of the previous series to drop the async handler[2], this
tries to defer the kill_fasync() call. A few new common helpers are
introduced at first, then the actual usages are replaced in the
following patches.
The patches passed the quick tests with alsa-lib test cases.
Takashi
[1] https://lore.kernel.org/r/20220726153420.3403-1-tiwai@suse.de
[2] https://lore.kernel.org/r/20220717070549.5993-1-tiwai@suse.de
===
Takashi Iwai (4):
ALSA: core: Add async signal helpers
ALSA: timer: Use deferred fasync helper
ALSA: pcm: Use deferred fasync helper
ALSA: control: Use deferred fasync helper
include/sound/control.h | 2 +-
include/sound/core.h | 8 ++++
include/sound/pcm.h | 2 +-
sound/core/control.c | 7 +--
sound/core/misc.c | 94 +++++++++++++++++++++++++++++++++++++++++
sound/core/pcm.c | 1 +
sound/core/pcm_lib.c | 2 +-
sound/core/pcm_native.c | 2 +-
sound/core/timer.c | 11 ++---
9 files changed, 117 insertions(+), 12 deletions(-)
--
2.35.3
2
9
01 Aug '22
Add Generic driver to support multiple platform,
ADD HS control instance for Rembrandt platform.
Add nau8825,max98560 and rt5682s,rt1019 combination support for legacy
platform.
v0--->v1
-- Kconfig syntax changes done
-- robot errors done
sound/soc/amd/acp/acp-rembrandt.c:264:5: warning: no previous prototype for 'rmb_acp_init' [-Wmissing-prototypes]
sound/soc/amd/acp/acp-rembrandt.c:264:5: warning: no previous prototype for 'rmb_acp_init' [-Wmissing-prototypes]
V sujith kumar Reddy (3):
ASoC: amd: acp: Remove rt1019_1 codec conf from machine driver
ASoC: amd: acp: ACP code generic to support newer platforms
ASoC: amd: acp: Add legacy audio driver support for Rembrandt platform
sound/soc/amd/acp/Kconfig | 11 +
sound/soc/amd/acp/Makefile | 2 +
sound/soc/amd/acp/acp-i2s.c | 169 +++++++++++-
sound/soc/amd/acp/acp-legacy-mach.c | 32 +++
sound/soc/amd/acp/acp-mach-common.c | 104 +++++--
sound/soc/amd/acp/acp-mach.h | 6 +
sound/soc/amd/acp/acp-pci.c | 6 +
sound/soc/amd/acp/acp-pdm.c | 8 +-
sound/soc/amd/acp/acp-platform.c | 32 ++-
sound/soc/amd/acp/acp-rembrandt.c | 397 +++++++++++++++++++++++++++
sound/soc/amd/acp/acp-renoir.c | 38 ++-
sound/soc/amd/acp/amd.h | 86 +++++-
sound/soc/amd/acp/chip_offset_byte.h | 40 ++-
13 files changed, 862 insertions(+), 69 deletions(-)
create mode 100644 sound/soc/amd/acp/acp-rembrandt.c
--
2.25.1
4
6
[PATCH v3] ASoC: amd: acp: Initialize list to store acp_stream during pcm_open
by Venkata Prasad Potturu 01 Aug '22
by Venkata Prasad Potturu 01 Aug '22
01 Aug '22
From: Ajit Kumar Pandey <AjitKumar.Pandey(a)amd.com>
We are currently allocating acp_stream during pcm_open and saving
it in static array corresponds to array index calculated based on
cpu dai->driver id. This approach will fail if we have single dai
linked to multiple pcm device as we will have same dai->driver id
or array index for multiple pcm open. Initialize new linked list
stream_list to store opened pcm stream info dynamically.
Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey(a)amd.com>
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu(a)amd.com>
Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda(a)amd.com>
---
Changes since v2:
-- Add locking mechanism in irq handler, linked list updatation and deletion.
Changes since v1:
-- Fix compile error and remove unused variable.
sound/soc/amd/acp/acp-platform.c | 43 ++++++++++++++++----------------
sound/soc/amd/acp/amd.h | 4 ++-
2 files changed, 25 insertions(+), 22 deletions(-)
diff --git a/sound/soc/amd/acp/acp-platform.c b/sound/soc/amd/acp/acp-platform.c
index f561d39b33e2..4d35c75611d3 100644
--- a/sound/soc/amd/acp/acp-platform.c
+++ b/sound/soc/amd/acp/acp-platform.c
@@ -93,8 +93,9 @@ static irqreturn_t i2s_irq_handler(int irq, void *data)
struct acp_dev_data *adata = data;
struct acp_resource *rsrc = adata->rsrc;
struct acp_stream *stream;
+ unsigned long flags;
u16 i2s_flag = 0;
- u32 ext_intr_stat, ext_intr_stat1, i;
+ u32 ext_intr_stat, ext_intr_stat1;
if (!adata)
return IRQ_NONE;
@@ -104,14 +105,13 @@ static irqreturn_t i2s_irq_handler(int irq, void *data)
ext_intr_stat = readl(ACP_EXTERNAL_INTR_STAT(adata, rsrc->irqp_used));
- for (i = 0; i < ACP_MAX_STREAM; i++) {
- stream = adata->stream[i];
+ spin_lock_irqsave(&adata->acp_lock, flags);
+ list_for_each_entry(stream, &adata->stream_list, list) {
if (stream && (ext_intr_stat & stream->irq_bit)) {
writel(stream->irq_bit,
ACP_EXTERNAL_INTR_STAT(adata, rsrc->irqp_used));
snd_pcm_period_elapsed(stream->substream);
i2s_flag = 1;
- break;
}
if (adata->rsrc->no_of_ctrls == 2) {
if (stream && (ext_intr_stat1 & stream->irq_bit)) {
@@ -119,10 +119,10 @@ static irqreturn_t i2s_irq_handler(int irq, void *data)
(rsrc->irqp_used - 1)));
snd_pcm_period_elapsed(stream->substream);
i2s_flag = 1;
- break;
}
}
}
+ spin_unlock_irqrestore(&adata->acp_lock, flags);
if (i2s_flag)
return IRQ_HANDLED;
@@ -146,9 +146,8 @@ static void config_pte_for_stream(struct acp_dev_data *adata, struct acp_stream
writel(0x01, adata->acp_base + ACPAXI2AXI_ATU_CTRL);
}
-static void config_acp_dma(struct acp_dev_data *adata, int cpu_id, int size)
+static void config_acp_dma(struct acp_dev_data *adata, struct acp_stream *stream, int size)
{
- struct acp_stream *stream = adata->stream[cpu_id];
struct snd_pcm_substream *substream = stream->substream;
struct acp_resource *rsrc = adata->rsrc;
dma_addr_t addr = substream->dma_buffer.addr;
@@ -174,21 +173,22 @@ static void config_acp_dma(struct acp_dev_data *adata, int cpu_id, int size)
static int acp_dma_open(struct snd_soc_component *component, struct snd_pcm_substream *substream)
{
- struct snd_soc_pcm_runtime *soc_runtime = asoc_substream_to_rtd(substream);
- struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(soc_runtime, 0);
struct snd_pcm_runtime *runtime = substream->runtime;
struct device *dev = component->dev;
struct acp_dev_data *adata = dev_get_drvdata(dev);
struct acp_stream *stream;
- int stream_id = cpu_dai->driver->id * 2 + substream->stream;
int ret;
+ unsigned long flags;
stream = kzalloc(sizeof(*stream), GFP_KERNEL);
if (!stream)
return -ENOMEM;
stream->substream = substream;
- adata->stream[stream_id] = stream;
+
+ spin_lock_irqsave(&adata->acp_lock, flags);
+ list_add_tail(&stream->list, &adata->stream_list);
+ spin_unlock_irqrestore(&adata->acp_lock, flags);
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
runtime->hw = acp_pcm_hardware_playback;
@@ -212,16 +212,13 @@ static int acp_dma_hw_params(struct snd_soc_component *component,
struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
- struct snd_soc_pcm_runtime *soc_runtime = asoc_substream_to_rtd(substream);
struct acp_dev_data *adata = snd_soc_component_get_drvdata(component);
- struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(soc_runtime, 0);
struct acp_stream *stream = substream->runtime->private_data;
- int stream_id = cpu_dai->driver->id * 2 + substream->stream;
u64 size = params_buffer_bytes(params);
/* Configure ACP DMA block with params */
config_pte_for_stream(adata, stream);
- config_acp_dma(adata, stream_id, size);
+ config_acp_dma(adata, stream, size);
return 0;
}
@@ -261,16 +258,16 @@ static int acp_dma_new(struct snd_soc_component *component,
static int acp_dma_close(struct snd_soc_component *component,
struct snd_pcm_substream *substream)
{
- struct snd_soc_pcm_runtime *soc_runtime = asoc_substream_to_rtd(substream);
- struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(soc_runtime, 0);
struct device *dev = component->dev;
struct acp_dev_data *adata = dev_get_drvdata(dev);
- struct acp_stream *stream;
- int stream_id = cpu_dai->driver->id * 2 + substream->stream;
+ struct acp_stream *stream = substream->runtime->private_data;
+ unsigned long flags;
- stream = adata->stream[stream_id];
+ /* Remove entry from list */
+ spin_lock_irqsave(&adata->acp_lock, flags);
+ list_del(&stream->list);
+ spin_unlock_irqrestore(&adata->acp_lock, flags);
kfree(stream);
- adata->stream[stream_id] = NULL;
return 0;
}
@@ -305,6 +302,10 @@ int acp_platform_register(struct device *dev)
dev_err(dev, "Fail to register acp i2s component\n");
return status;
}
+
+ INIT_LIST_HEAD(&adata->stream_list);
+ spin_lock_init(&adata->acp_lock);
+
return 0;
}
EXPORT_SYMBOL_NS_GPL(acp_platform_register, SND_SOC_ACP_COMMON);
diff --git a/sound/soc/amd/acp/amd.h b/sound/soc/amd/acp/amd.h
index 60a7c95f134f..be8bb8247c4e 100644
--- a/sound/soc/amd/acp/amd.h
+++ b/sound/soc/amd/acp/amd.h
@@ -91,6 +91,7 @@ struct acp_chip_info {
};
struct acp_stream {
+ struct list_head list;
struct snd_pcm_substream *substream;
int irq_bit;
int dai_id;
@@ -123,7 +124,8 @@ struct acp_dev_data {
struct snd_soc_dai_driver *dai_driver;
int num_dai;
- struct acp_stream *stream[ACP_MAX_STREAM];
+ struct list_head stream_list;
+ spinlock_t acp_lock;
struct snd_soc_acpi_mach *machines;
struct platform_device *mach_dev;
--
2.25.1
4
5