Skip to content

Commit 3c05547

Browse files
committed
Merge tag 'sound-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "A pile of fixes that have been gathered since the previous pull. Most of changes are device-specific, and nothing looks too scary. - A memory leak fix in ALSA sequencer code in 6.5-rc - Many fixes for ASoC Qualcomm CODEC drivers, covering SoundWire probe problems - A series of ASoC AMD fixes - A few fixes and cleanups of selftest stuff - HD-audio codec fixes and quirks for Clevo, HP, Lenovo, Dell" * tag 'sound-6.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (52 commits) ALSA: hda/realtek: Add support for DELL Oasis 13/14/16 laptops ALSA: hda/realtek: Fix generic fixup definition for cs35l41 amp ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx selftests: ALSA: Add test-pcmtest-driver to .gitignore ALSA: hda/realtek: Add quirk for Clevo NS70AU ASoC: fsl_sai: Disable bit clock with transmitter ALSA: seq: Fix memory leak at error path in snd_seq_create_port() ASoC: SOF: ipc3-dtrace: uninitialized data in dfsentry_trace_filter_write() ASoC: cs42l51: fix driver to properly autoload with automatic module loading MAINTAINERS: Redo addition of ssm3515 to APPLE SOUND ASoC: rt5640: Fix the issue of speaker noise ALSA: hda/realtek - remove 3k pull low procedure selftests: ALSA: Fix fclose on an already fclosed file pointer ALSA: pcmtest: Don't use static storage to track per device data ALSA: pcmtest: Convert to platform remove callback returning void ASoC: dt-bindings: audio-graph-card2: Drop incomplete example ASoC: dt-bindings: Update maintainer email id ASoC: amd: ps: Fix extraneous error messages ASoC: fsl_sai: Revert "ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode" ASoC: codecs: SND_SOC_WCD934X should select REGMAP_IRQ ...
2 parents 55c225f + 5f69c65 commit 3c05547

34 files changed

+342
-156
lines changed

Documentation/devicetree/bindings/sound/audio-graph-card2.yaml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,4 @@ required:
3939

4040
additionalProperties: false
4141

42-
examples:
43-
- |
44-
sound {
45-
compatible = "audio-graph-card2";
46-
47-
links = <&cpu_port>;
48-
};
49-
50-
cpu {
51-
compatible = "cpu-driver";
52-
53-
cpu_port: port { cpu_ep: endpoint { remote-endpoint = <&codec_ep>; }; };
54-
};
55-
56-
codec {
57-
compatible = "codec-driver";
58-
59-
port { codec_ep: endpoint { remote-endpoint = <&cpu_ep>; }; };
60-
};
42+
...

Documentation/devicetree/bindings/sound/google,sc7180-trogdor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Google SC7180-Trogdor ASoC sound card driver
88

99
maintainers:
10-
- Rohit kumar <[email protected]>
10+
- Rohit kumar <[email protected]>
1111
- Cheng-Yi Chiang <[email protected]>
1212

1313
description:

Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ title: Qualcomm Technologies Inc. LPASS CPU dai driver
88

99
maintainers:
1010
- Srinivas Kandagatla <[email protected]>
11-
- Rohit kumar <[email protected]>
11+
- Rohit kumar <[email protected]>
1212

1313
description: |
1414
Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1865,9 +1865,11 @@ M: Martin Povišer <[email protected]>
18651865
18661866
L: [email protected] (moderated for non-subscribers)
18671867
S: Maintained
1868+
F: Documentation/devicetree/bindings/sound/adi,ssm3515.yaml
18681869
F: Documentation/devicetree/bindings/sound/apple,*
18691870
F: sound/soc/apple/*
18701871
F: sound/soc/codecs/cs42l83-i2c.c
1872+
F: sound/soc/codecs/ssm3515.c
18711873

18721874
ARM/APPLE MACHINE SUPPORT
18731875
M: Hector Martin <[email protected]>

sound/core/seq/seq_ports.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ int snd_seq_create_port(struct snd_seq_client *client, int port,
149149
write_lock_irq(&client->ports_lock);
150150
list_for_each_entry(p, &client->ports_list_head, list) {
151151
if (p->addr.port == port) {
152+
kfree(new_port);
152153
num = -EBUSY;
153154
goto unlock;
154155
}

sound/drivers/pcmtest.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,6 @@ struct pcmtst_buf_iter {
110110
struct timer_list timer_instance;
111111
};
112112

113-
static struct pcmtst *pcmtst;
114-
115113
static struct snd_pcm_hardware snd_pcmtst_hw = {
116114
.info = (SNDRV_PCM_INFO_INTERLEAVED |
117115
SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -552,6 +550,7 @@ static int snd_pcmtst_create(struct snd_card *card, struct platform_device *pdev
552550
static int pcmtst_probe(struct platform_device *pdev)
553551
{
554552
struct snd_card *card;
553+
struct pcmtst *pcmtst;
555554
int err;
556555

557556
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
@@ -573,13 +572,16 @@ static int pcmtst_probe(struct platform_device *pdev)
573572
if (err < 0)
574573
return err;
575574

575+
platform_set_drvdata(pdev, pcmtst);
576+
576577
return 0;
577578
}
578579

579-
static int pdev_remove(struct platform_device *dev)
580+
static void pdev_remove(struct platform_device *pdev)
580581
{
582+
struct pcmtst *pcmtst = platform_get_drvdata(pdev);
583+
581584
snd_pcmtst_free(pcmtst);
582-
return 0;
583585
}
584586

585587
static struct platform_device pcmtst_pdev = {
@@ -589,7 +591,7 @@ static struct platform_device pcmtst_pdev = {
589591

590592
static struct platform_driver pcmtst_pdrv = {
591593
.probe = pcmtst_probe,
592-
.remove = pdev_remove,
594+
.remove_new = pdev_remove,
593595
.driver = {
594596
.name = "pcmtest",
595597
},

sound/pci/hda/patch_realtek.c

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ struct alc_spec {
122122
unsigned int ultra_low_power:1;
123123
unsigned int has_hs_key:1;
124124
unsigned int no_internal_mic_pin:1;
125+
unsigned int en_3kpull_low:1;
125126

126127
/* for PLL fix */
127128
hda_nid_t pll_nid;
@@ -3622,6 +3623,7 @@ static void alc256_shutup(struct hda_codec *codec)
36223623
if (!hp_pin)
36233624
hp_pin = 0x21;
36243625

3626+
alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */
36253627
hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
36263628

36273629
if (hp_pin_sense)
@@ -3638,8 +3640,7 @@ static void alc256_shutup(struct hda_codec *codec)
36383640
/* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
36393641
* when booting with headset plugged. So skip setting it for the codec alc257
36403642
*/
3641-
if (codec->core.vendor_id != 0x10ec0236 &&
3642-
codec->core.vendor_id != 0x10ec0257)
3643+
if (spec->en_3kpull_low)
36433644
alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
36443645

36453646
if (!spec->no_shutup_pins)
@@ -4623,6 +4624,21 @@ static void alc236_fixup_hp_mute_led_coefbit(struct hda_codec *codec,
46234624
}
46244625
}
46254626

4627+
static void alc236_fixup_hp_mute_led_coefbit2(struct hda_codec *codec,
4628+
const struct hda_fixup *fix, int action)
4629+
{
4630+
struct alc_spec *spec = codec->spec;
4631+
4632+
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
4633+
spec->mute_led_polarity = 0;
4634+
spec->mute_led_coef.idx = 0x07;
4635+
spec->mute_led_coef.mask = 1;
4636+
spec->mute_led_coef.on = 1;
4637+
spec->mute_led_coef.off = 0;
4638+
snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
4639+
}
4640+
}
4641+
46264642
/* turn on/off mic-mute LED per capture hook by coef bit */
46274643
static int coef_micmute_led_set(struct led_classdev *led_cdev,
46284644
enum led_brightness brightness)
@@ -7143,6 +7159,7 @@ enum {
71437159
ALC285_FIXUP_HP_GPIO_LED,
71447160
ALC285_FIXUP_HP_MUTE_LED,
71457161
ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED,
7162+
ALC236_FIXUP_HP_MUTE_LED_COEFBIT2,
71467163
ALC236_FIXUP_HP_GPIO_LED,
71477164
ALC236_FIXUP_HP_MUTE_LED,
71487165
ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF,
@@ -7213,6 +7230,7 @@ enum {
72137230
ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN,
72147231
ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS,
72157232
ALC236_FIXUP_DELL_DUAL_CODECS,
7233+
ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI,
72167234
};
72177235

72187236
/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -8632,6 +8650,10 @@ static const struct hda_fixup alc269_fixups[] = {
86328650
.type = HDA_FIXUP_FUNC,
86338651
.v.func = alc285_fixup_hp_spectre_x360_mute_led,
86348652
},
8653+
[ALC236_FIXUP_HP_MUTE_LED_COEFBIT2] = {
8654+
.type = HDA_FIXUP_FUNC,
8655+
.v.func = alc236_fixup_hp_mute_led_coefbit2,
8656+
},
86358657
[ALC236_FIXUP_HP_GPIO_LED] = {
86368658
.type = HDA_FIXUP_FUNC,
86378659
.v.func = alc236_fixup_hp_gpio_led,
@@ -9145,8 +9167,6 @@ static const struct hda_fixup alc269_fixups[] = {
91459167
[ALC287_FIXUP_CS35L41_I2C_2] = {
91469168
.type = HDA_FIXUP_FUNC,
91479169
.v.func = cs35l41_fixup_i2c_two,
9148-
.chained = true,
9149-
.chain_id = ALC269_FIXUP_THINKPAD_ACPI,
91509170
},
91519171
[ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED] = {
91529172
.type = HDA_FIXUP_FUNC,
@@ -9283,6 +9303,12 @@ static const struct hda_fixup alc269_fixups[] = {
92839303
.chained = true,
92849304
.chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
92859305
},
9306+
[ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI] = {
9307+
.type = HDA_FIXUP_FUNC,
9308+
.v.func = cs35l41_fixup_i2c_two,
9309+
.chained = true,
9310+
.chain_id = ALC269_FIXUP_THINKPAD_ACPI,
9311+
},
92869312
};
92879313

92889314
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -9393,6 +9419,14 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
93939419
SND_PCI_QUIRK(0x1028, 0x0c1c, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
93949420
SND_PCI_QUIRK(0x1028, 0x0c1d, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS),
93959421
SND_PCI_QUIRK(0x1028, 0x0c1e, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
9422+
SND_PCI_QUIRK(0x1028, 0x0cbd, "Dell Oasis 13 CS MTL-U", ALC245_FIXUP_CS35L41_SPI_2),
9423+
SND_PCI_QUIRK(0x1028, 0x0cbe, "Dell Oasis 13 2-IN-1 MTL-U", ALC245_FIXUP_CS35L41_SPI_2),
9424+
SND_PCI_QUIRK(0x1028, 0x0cbf, "Dell Oasis 13 Low Weight MTU-L", ALC245_FIXUP_CS35L41_SPI_2),
9425+
SND_PCI_QUIRK(0x1028, 0x0cc1, "Dell Oasis 14 MTL-H/U", ALC287_FIXUP_CS35L41_I2C_2),
9426+
SND_PCI_QUIRK(0x1028, 0x0cc2, "Dell Oasis 14 2-in-1 MTL-H/U", ALC287_FIXUP_CS35L41_I2C_2),
9427+
SND_PCI_QUIRK(0x1028, 0x0cc3, "Dell Oasis 14 Low Weight MTL-U", ALC287_FIXUP_CS35L41_I2C_2),
9428+
SND_PCI_QUIRK(0x1028, 0x0cc4, "Dell Oasis 16 MTL-H/U", ALC287_FIXUP_CS35L41_I2C_2),
9429+
SND_PCI_QUIRK(0x1028, 0x0cc5, "Dell Oasis MLK 14 RPL-P", ALC287_FIXUP_CS35L41_I2C_2),
93969430
SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
93979431
SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
93989432
SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
@@ -9516,6 +9550,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
95169550
SND_PCI_QUIRK(0x103c, 0x886d, "HP ZBook Fury 17.3 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
95179551
SND_PCI_QUIRK(0x103c, 0x8870, "HP ZBook Fury 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
95189552
SND_PCI_QUIRK(0x103c, 0x8873, "HP ZBook Studio 15.6 Inch G8 Mobile Workstation PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),
9553+
SND_PCI_QUIRK(0x103c, 0x887a, "HP Laptop 15s-eq2xxx", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2),
95199554
SND_PCI_QUIRK(0x103c, 0x888d, "HP ZBook Power 15.6 inch G8 Mobile Workstation PC", ALC236_FIXUP_HP_GPIO_LED),
95209555
SND_PCI_QUIRK(0x103c, 0x8895, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED),
95219556
SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED),
@@ -9727,6 +9762,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
97279762
SND_PCI_QUIRK(0x1558, 0x5157, "Clevo W517GU1", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
97289763
SND_PCI_QUIRK(0x1558, 0x51a1, "Clevo NS50MU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
97299764
SND_PCI_QUIRK(0x1558, 0x51b1, "Clevo NS50AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
9765+
SND_PCI_QUIRK(0x1558, 0x51b3, "Clevo NS70AU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
97309766
SND_PCI_QUIRK(0x1558, 0x5630, "Clevo NP50RNJS", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
97319767
SND_PCI_QUIRK(0x1558, 0x70a1, "Clevo NB70T[HJK]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
97329768
SND_PCI_QUIRK(0x1558, 0x70b3, "Clevo NK70SB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE),
@@ -9810,14 +9846,14 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
98109846
SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
98119847
SND_PCI_QUIRK(0x17aa, 0x22c1, "Thinkpad P1 Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
98129848
SND_PCI_QUIRK(0x17aa, 0x22c2, "Thinkpad X1 Extreme Gen 3", ALC285_FIXUP_THINKPAD_NO_BASS_SPK_HEADSET_JACK),
9813-
SND_PCI_QUIRK(0x17aa, 0x22f1, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
9814-
SND_PCI_QUIRK(0x17aa, 0x22f2, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
9815-
SND_PCI_QUIRK(0x17aa, 0x22f3, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2),
9816-
SND_PCI_QUIRK(0x17aa, 0x2316, "Thinkpad P1 Gen 6", ALC287_FIXUP_CS35L41_I2C_2),
9817-
SND_PCI_QUIRK(0x17aa, 0x2317, "Thinkpad P1 Gen 6", ALC287_FIXUP_CS35L41_I2C_2),
9818-
SND_PCI_QUIRK(0x17aa, 0x2318, "Thinkpad Z13 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
9819-
SND_PCI_QUIRK(0x17aa, 0x2319, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
9820-
SND_PCI_QUIRK(0x17aa, 0x231a, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2),
9849+
SND_PCI_QUIRK(0x17aa, 0x22f1, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9850+
SND_PCI_QUIRK(0x17aa, 0x22f2, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9851+
SND_PCI_QUIRK(0x17aa, 0x22f3, "Thinkpad", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9852+
SND_PCI_QUIRK(0x17aa, 0x2316, "Thinkpad P1 Gen 6", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9853+
SND_PCI_QUIRK(0x17aa, 0x2317, "Thinkpad P1 Gen 6", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9854+
SND_PCI_QUIRK(0x17aa, 0x2318, "Thinkpad Z13 Gen2", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9855+
SND_PCI_QUIRK(0x17aa, 0x2319, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
9856+
SND_PCI_QUIRK(0x17aa, 0x231a, "Thinkpad Z16 Gen2", ALC287_FIXUP_CS35L41_I2C_2_THINKPAD_ACPI),
98219857
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
98229858
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
98239859
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
@@ -10682,6 +10718,8 @@ static int patch_alc269(struct hda_codec *codec)
1068210718
spec->shutup = alc256_shutup;
1068310719
spec->init_hook = alc256_init;
1068410720
spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
10721+
if (codec->bus->pci->vendor == PCI_VENDOR_ID_AMD)
10722+
spec->en_3kpull_low = true;
1068510723
break;
1068610724
case 0x10ec0257:
1068710725
spec->codec_variant = ALC269_TYPE_ALC257;

sound/soc/amd/acp/amd.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ int snd_amd_acp_find_config(struct pci_dev *pci);
173173

174174
static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int direction)
175175
{
176-
u64 byte_count, low = 0, high = 0;
176+
u64 byte_count = 0, low = 0, high = 0;
177177

178178
if (direction == SNDRV_PCM_STREAM_PLAYBACK) {
179179
switch (dai_id) {
@@ -191,7 +191,7 @@ static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int
191191
break;
192192
default:
193193
dev_err(adata->dev, "Invalid dai id %x\n", dai_id);
194-
return -EINVAL;
194+
goto POINTER_RETURN_BYTES;
195195
}
196196
} else {
197197
switch (dai_id) {
@@ -213,12 +213,13 @@ static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int
213213
break;
214214
default:
215215
dev_err(adata->dev, "Invalid dai id %x\n", dai_id);
216-
return -EINVAL;
216+
goto POINTER_RETURN_BYTES;
217217
}
218218
}
219219
/* Get 64 bit value from two 32 bit registers */
220220
byte_count = (high << 32) | low;
221221

222+
POINTER_RETURN_BYTES:
222223
return byte_count;
223224
}
224225

sound/soc/amd/ps/acp63.h

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,28 @@
116116
#define ACP63_SDW0_DMA_MAX_STREAMS 6
117117
#define ACP63_SDW1_DMA_MAX_STREAMS 2
118118
#define ACP_P1_AUDIO_TX_THRESHOLD 6
119+
120+
/*
121+
* Below entries describes SDW0 instance DMA stream id and DMA irq bit mapping
122+
* in ACP_EXTENAL_INTR_CNTL register.
123+
* Stream id IRQ Bit
124+
* 0 (SDW0_AUDIO0_TX) 28
125+
* 1 (SDW0_AUDIO1_TX) 26
126+
* 2 (SDW0_AUDIO2_TX) 24
127+
* 3 (SDW0_AUDIO0_RX) 27
128+
* 4 (SDW0_AUDIO1_RX) 25
129+
* 5 (SDW0_AUDIO2_RX) 23
130+
*/
119131
#define SDW0_DMA_TX_IRQ_MASK(i) (ACP_AUDIO0_TX_THRESHOLD - (2 * (i)))
120-
#define SDW0_DMA_RX_IRQ_MASK(i) (ACP_AUDIO0_RX_THRESHOLD - (2 * (i)))
132+
#define SDW0_DMA_RX_IRQ_MASK(i) (ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3)))
133+
134+
/*
135+
* Below entries describes SDW1 instance DMA stream id and DMA irq bit mapping
136+
* in ACP_EXTENAL_INTR_CNTL1 register.
137+
* Stream id IRQ Bit
138+
* 0 (SDW1_AUDIO1_TX) 6
139+
* 1 (SDW1_AUDIO1_RX) 5
140+
*/
121141
#define SDW1_DMA_IRQ_MASK(i) (ACP_P1_AUDIO_TX_THRESHOLD - (i))
122142

123143
#define ACP_DELAY_US 5

sound/soc/amd/ps/pci-ps.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ static int sdw_amd_scan_controller(struct device *dev)
257257
&sdw_manager_bitmap, 1);
258258

259259
if (ret) {
260-
dev_err(dev, "Failed to read mipi-sdw-manager-list: %d\n", ret);
260+
dev_dbg(dev, "Failed to read mipi-sdw-manager-list: %d\n", ret);
261261
return -EINVAL;
262262
}
263263
count = hweight32(sdw_manager_bitmap);
@@ -641,7 +641,7 @@ static int snd_acp63_probe(struct pci_dev *pci,
641641
ret = get_acp63_device_config(val, pci, adata);
642642
/* ACP PCI driver probe should be continued even PDM or SoundWire Devices are not found */
643643
if (ret) {
644-
dev_err(&pci->dev, "get acp device config failed:%d\n", ret);
644+
dev_dbg(&pci->dev, "get acp device config failed:%d\n", ret);
645645
goto skip_pdev_creation;
646646
}
647647
ret = create_acp63_platform_devs(pci, adata, addr);

0 commit comments

Comments
 (0)