tangled
alpha
login
or
join now
tjh.dev
/
kernel
1
fork
atom
Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1
fork
atom
overview
issues
pulls
pipelines
ASoC: Merge up fixes
For the benefit of CI
Mark Brown
2 years ago
81113108
59146c3c
+35
-19
11 changed files
expand all
collapse all
unified
split
sound
soc
codecs
max98363.c
rt5665.c
fsl
fsl_micfil.c
fsl_micfil.h
intel
boards
sof_sdw.c
sof_sdw_cs42l42.c
sof
intel
hda-dai-ops.c
hda-dai.c
hda.h
ipc3.c
ipc4-topology.c
+5
-4
sound/soc/codecs/max98363.c
reviewed
···
174
174
pm_runtime_get_noresume(dev);
175
175
176
176
ret = regmap_read(max98363->regmap, MAX98363_R21FF_REV_ID, ®);
177
177
-
if (!ret) {
177
177
+
if (!ret)
178
178
dev_info(dev, "Revision ID: %X\n", reg);
179
179
-
return ret;
180
180
-
}
179
179
+
else
180
180
+
goto out;
181
181
182
182
if (max98363->first_hw_init) {
183
183
regcache_cache_bypass(max98363->regmap, false);
···
187
187
max98363->first_hw_init = true;
188
188
max98363->hw_init = true;
189
189
190
190
+
out:
190
191
pm_runtime_mark_last_busy(dev);
191
192
pm_runtime_put_autosuspend(dev);
192
193
193
193
-
return 0;
194
194
+
return ret;
194
195
}
195
196
196
197
#define MAX98363_RATES SNDRV_PCM_RATE_8000_192000
+2
sound/soc/codecs/rt5665.c
reviewed
···
4472
4472
struct rt5665_priv *rt5665 = snd_soc_component_get_drvdata(component);
4473
4473
4474
4474
regmap_write(rt5665->regmap, RT5665_RESET, 0);
4475
4475
+
4476
4476
+
regulator_bulk_disable(ARRAY_SIZE(rt5665->supplies), rt5665->supplies);
4475
4477
}
4476
4478
4477
4479
#ifdef CONFIG_PM
+2
-2
sound/soc/fsl/fsl_micfil.c
reviewed
···
1
1
-
// SPDX-License-Identifier: GPL-2.0
1
1
+
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2
2
// Copyright 2018 NXP
3
3
4
4
#include <linux/bitfield.h>
···
1318
1318
1319
1319
MODULE_AUTHOR("Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>");
1320
1320
MODULE_DESCRIPTION("NXP PDM Microphone Interface (MICFIL) driver");
1321
1321
-
MODULE_LICENSE("GPL v2");
1321
1321
+
MODULE_LICENSE("Dual BSD/GPL");
+1
-1
sound/soc/fsl/fsl_micfil.h
reviewed
···
1
1
-
/* SPDX-License-Identifier: GPL-2.0 */
1
1
+
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2
2
/*
3
3
* PDM Microphone Interface for the NXP i.MX SoC
4
4
* Copyright 2018 NXP
+1
-1
sound/soc/intel/boards/sof_sdw.c
reviewed
···
488
488
DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
489
489
DMI_MATCH(DMI_PRODUCT_NAME, "Lunar Lake Client Platform"),
490
490
},
491
491
-
.driver_data = (void *)(RT711_JD2_100K),
491
491
+
.driver_data = (void *)(RT711_JD2),
492
492
},
493
493
{}
494
494
};
+3
-3
sound/soc/intel/boards/sof_sdw_cs42l42.c
reviewed
···
99
99
jack = &ctx->sdw_headset;
100
100
101
101
snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
102
102
-
snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
103
103
-
snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
104
104
-
snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);
102
102
+
snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP);
103
103
+
snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN);
104
104
+
snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND);
105
105
106
106
ret = snd_soc_component_set_jack(component, jack, NULL);
107
107
+10
-1
sound/soc/sof/intel/hda-dai-ops.c
reviewed
···
524
524
static int hda_ipc3_post_trigger(struct snd_sof_dev *sdev, struct snd_soc_dai *cpu_dai,
525
525
struct snd_pcm_substream *substream, int cmd)
526
526
{
527
527
+
struct hdac_ext_stream *hext_stream = hda_get_hext_stream(sdev, cpu_dai, substream);
527
528
struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
528
529
529
530
switch (cmd) {
···
532
531
case SNDRV_PCM_TRIGGER_STOP:
533
532
{
534
533
struct snd_sof_dai_config_data data = { 0 };
534
534
+
int ret;
535
535
536
536
data.dai_data = DMA_CHAN_INVALID;
537
537
-
return hda_dai_config(w, SOF_DAI_CONFIG_FLAGS_HW_FREE, &data);
537
537
+
ret = hda_dai_config(w, SOF_DAI_CONFIG_FLAGS_HW_FREE, &data);
538
538
+
if (ret < 0)
539
539
+
return ret;
540
540
+
541
541
+
if (cmd == SNDRV_PCM_TRIGGER_STOP)
542
542
+
return hda_link_dma_cleanup(substream, hext_stream, cpu_dai);
543
543
+
544
544
+
break;
538
545
}
539
546
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
540
547
return hda_dai_config(w, SOF_DAI_CONFIG_FLAGS_PAUSE, NULL);
+2
-3
sound/soc/sof/intel/hda-dai.c
reviewed
···
109
109
return sdai->platform_private;
110
110
}
111
111
112
112
-
static int hda_link_dma_cleanup(struct snd_pcm_substream *substream,
113
113
-
struct hdac_ext_stream *hext_stream,
114
114
-
struct snd_soc_dai *cpu_dai)
112
112
+
int hda_link_dma_cleanup(struct snd_pcm_substream *substream, struct hdac_ext_stream *hext_stream,
113
113
+
struct snd_soc_dai *cpu_dai)
115
114
{
116
115
const struct hda_dai_widget_dma_ops *ops = hda_dai_get_ops(substream, cpu_dai);
117
116
struct sof_intel_hda_stream *hda_stream;
+2
sound/soc/sof/intel/hda.h
reviewed
···
984
984
hda_select_dai_widget_ops(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget);
985
985
int hda_dai_config(struct snd_soc_dapm_widget *w, unsigned int flags,
986
986
struct snd_sof_dai_config_data *data);
987
987
+
int hda_link_dma_cleanup(struct snd_pcm_substream *substream, struct hdac_ext_stream *hext_stream,
988
988
+
struct snd_soc_dai *cpu_dai);
987
989
988
990
#endif
+1
-1
sound/soc/sof/ipc3.c
reviewed
···
1001
1001
1002
1002
ipc3_log_header(sdev->dev, "ipc rx", hdr->cmd);
1003
1003
1004
1004
-
if (hdr->size < sizeof(hdr) || hdr->size > SOF_IPC_MSG_MAX_SIZE) {
1004
1004
+
if (hdr->size < sizeof(*hdr) || hdr->size > SOF_IPC_MSG_MAX_SIZE) {
1005
1005
dev_err(sdev->dev, "The received message size is invalid: %u\n",
1006
1006
hdr->size);
1007
1007
return;
+6
-3
sound/soc/sof/ipc4-topology.c
reviewed
···
1731
1731
1732
1732
*ipc_config_size = ipc_size;
1733
1733
1734
1734
+
/* update pipeline memory usage */
1735
1735
+
sof_ipc4_update_resource_usage(sdev, swidget, &copier_data->base_config);
1736
1736
+
1737
1737
+
/* update pipeline memory usage */
1738
1738
+
sof_ipc4_update_resource_usage(sdev, swidget, &copier_data->base_config);
1739
1739
+
1734
1740
/* copy IPC data */
1735
1741
memcpy(*ipc_config_data, (void *)copier_data, sizeof(*copier_data));
1736
1742
if (gtw_cfg_config_length)
···
1748
1742
memcpy(*ipc_config_data + sizeof(*copier_data) +
1749
1743
gtw_cfg_config_length,
1750
1744
&ipc4_copier->dma_config_tlv, dma_config_tlv_size);
1751
1751
-
1752
1752
-
/* update pipeline memory usage */
1753
1753
-
sof_ipc4_update_resource_usage(sdev, swidget, &copier_data->base_config);
1754
1745
1755
1746
/*
1756
1747
* Restore gateway config length now that IPC payload is prepared. This avoids