Skip to content

Commit d006330

Browse files
committed
Merge tag 'sound-6.16-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Here are device-specific small fixes, including HD-audio, USB-audio and ASoC Intel quirks, as well as ASoC fsl, Cirrus codec and the legacy AD driver fixes. All look safe and easy" * tag 'sound-6.16-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek: Enable headset Mic on Positivo K116J ALSA: hda/tas2781: Fix calibration data parser issue ALSA: ad1816a: Fix potential NULL pointer deref in snd_card_ad1816a_pnp() ASoC: cs35l56: probe() should fail if the device ID is not recognized ALSA: hda/realtek: Add quirk for ASUS ExpertBook B9403CVAR ASoC: Intel: sof_sdw: Add quirks for Lenovo P1 and P16 ALSA: usb-audio: Improve filtering of sample rates on Focusrite devices ASoC: Intel: soc-acpi: arl: Correct order of cs42l43 matches MAINTAINERS: update Qualcomm audio codec drivers list ASoC: fsl_sai: Force a software reset when starting in consumer mode ASoC: Intel: SND_SOC_INTEL_SOF_BOARD_HELPERS select SND_SOC_ACPI_INTEL_MATCH ASoC: fsl_asrc: use internal measured ratio for non-ideal ratio mode ALSA: hda/realtek - Add mute LED support for HP Victus 15-fb2xxx ALSA: hda: Add missing NVIDIA HDA codec IDs
2 parents eadb9fa + d78f764 commit d006330

File tree

12 files changed

+64
-41
lines changed

12 files changed

+64
-41
lines changed

MAINTAINERS

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20155,21 +20155,15 @@ S: Supported
2015520155
F: Documentation/devicetree/bindings/soc/qcom/qcom,apr*
2015620156
F: Documentation/devicetree/bindings/sound/qcom,*
2015720157
F: drivers/soc/qcom/apr.c
20158-
F: include/dt-bindings/sound/qcom,wcd9335.h
20159-
F: include/dt-bindings/sound/qcom,wcd934x.h
20160-
F: sound/soc/codecs/lpass-rx-macro.*
20161-
F: sound/soc/codecs/lpass-tx-macro.*
20162-
F: sound/soc/codecs/lpass-va-macro.c
20163-
F: sound/soc/codecs/lpass-wsa-macro.*
20158+
F: drivers/soundwire/qcom.c
20159+
F: include/dt-bindings/sound/qcom,wcd93*
20160+
F: sound/soc/codecs/lpass-*.*
2016420161
F: sound/soc/codecs/msm8916-wcd-analog.c
2016520162
F: sound/soc/codecs/msm8916-wcd-digital.c
2016620163
F: sound/soc/codecs/wcd-clsh-v2.*
2016720164
F: sound/soc/codecs/wcd-mbhc-v2.*
20168-
F: sound/soc/codecs/wcd9335.*
20169-
F: sound/soc/codecs/wcd934x.c
20170-
F: sound/soc/codecs/wsa881x.c
20171-
F: sound/soc/codecs/wsa883x.c
20172-
F: sound/soc/codecs/wsa884x.c
20165+
F: sound/soc/codecs/wcd93*.*
20166+
F: sound/soc/codecs/wsa88*.*
2017320167
F: sound/soc/qcom/
2017420168

2017520169
QCOM EMBEDDED USB DEBUGGER (EUD)

sound/isa/ad1816a/ad1816a.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static int snd_card_ad1816a_pnp(int dev, struct pnp_card_link *card,
9898
pdev = pnp_request_card_device(card, id->devs[1].id, NULL);
9999
if (pdev == NULL) {
100100
mpu_port[dev] = -1;
101-
dev_warn(&pdev->dev, "MPU401 device busy, skipping.\n");
101+
pr_warn("MPU401 device busy, skipping.\n");
102102
return 0;
103103
}
104104

sound/pci/hda/patch_hdmi.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4551,7 +4551,9 @@ HDA_CODEC_ENTRY(0x10de002e, "Tegra186 HDMI/DP1", patch_tegra_hdmi),
45514551
HDA_CODEC_ENTRY(0x10de002f, "Tegra194 HDMI/DP2", patch_tegra_hdmi),
45524552
HDA_CODEC_ENTRY(0x10de0030, "Tegra194 HDMI/DP3", patch_tegra_hdmi),
45534553
HDA_CODEC_ENTRY(0x10de0031, "Tegra234 HDMI/DP", patch_tegra234_hdmi),
4554+
HDA_CODEC_ENTRY(0x10de0033, "SoC 33 HDMI/DP", patch_tegra234_hdmi),
45544555
HDA_CODEC_ENTRY(0x10de0034, "Tegra264 HDMI/DP", patch_tegra234_hdmi),
4556+
HDA_CODEC_ENTRY(0x10de0035, "SoC 35 HDMI/DP", patch_tegra234_hdmi),
45554557
HDA_CODEC_ENTRY(0x10de0040, "GPU 40 HDMI/DP", patch_nvhdmi),
45564558
HDA_CODEC_ENTRY(0x10de0041, "GPU 41 HDMI/DP", patch_nvhdmi),
45574559
HDA_CODEC_ENTRY(0x10de0042, "GPU 42 HDMI/DP", patch_nvhdmi),
@@ -4590,15 +4592,32 @@ HDA_CODEC_ENTRY(0x10de0097, "GPU 97 HDMI/DP", patch_nvhdmi),
45904592
HDA_CODEC_ENTRY(0x10de0098, "GPU 98 HDMI/DP", patch_nvhdmi),
45914593
HDA_CODEC_ENTRY(0x10de0099, "GPU 99 HDMI/DP", patch_nvhdmi),
45924594
HDA_CODEC_ENTRY(0x10de009a, "GPU 9a HDMI/DP", patch_nvhdmi),
4595+
HDA_CODEC_ENTRY(0x10de009b, "GPU 9b HDMI/DP", patch_nvhdmi),
4596+
HDA_CODEC_ENTRY(0x10de009c, "GPU 9c HDMI/DP", patch_nvhdmi),
45934597
HDA_CODEC_ENTRY(0x10de009d, "GPU 9d HDMI/DP", patch_nvhdmi),
45944598
HDA_CODEC_ENTRY(0x10de009e, "GPU 9e HDMI/DP", patch_nvhdmi),
45954599
HDA_CODEC_ENTRY(0x10de009f, "GPU 9f HDMI/DP", patch_nvhdmi),
45964600
HDA_CODEC_ENTRY(0x10de00a0, "GPU a0 HDMI/DP", patch_nvhdmi),
4601+
HDA_CODEC_ENTRY(0x10de00a1, "GPU a1 HDMI/DP", patch_nvhdmi),
45974602
HDA_CODEC_ENTRY(0x10de00a3, "GPU a3 HDMI/DP", patch_nvhdmi),
45984603
HDA_CODEC_ENTRY(0x10de00a4, "GPU a4 HDMI/DP", patch_nvhdmi),
45994604
HDA_CODEC_ENTRY(0x10de00a5, "GPU a5 HDMI/DP", patch_nvhdmi),
46004605
HDA_CODEC_ENTRY(0x10de00a6, "GPU a6 HDMI/DP", patch_nvhdmi),
46014606
HDA_CODEC_ENTRY(0x10de00a7, "GPU a7 HDMI/DP", patch_nvhdmi),
4607+
HDA_CODEC_ENTRY(0x10de00a8, "GPU a8 HDMI/DP", patch_nvhdmi),
4608+
HDA_CODEC_ENTRY(0x10de00a9, "GPU a9 HDMI/DP", patch_nvhdmi),
4609+
HDA_CODEC_ENTRY(0x10de00aa, "GPU aa HDMI/DP", patch_nvhdmi),
4610+
HDA_CODEC_ENTRY(0x10de00ab, "GPU ab HDMI/DP", patch_nvhdmi),
4611+
HDA_CODEC_ENTRY(0x10de00ad, "GPU ad HDMI/DP", patch_nvhdmi),
4612+
HDA_CODEC_ENTRY(0x10de00ae, "GPU ae HDMI/DP", patch_nvhdmi),
4613+
HDA_CODEC_ENTRY(0x10de00af, "GPU af HDMI/DP", patch_nvhdmi),
4614+
HDA_CODEC_ENTRY(0x10de00b0, "GPU b0 HDMI/DP", patch_nvhdmi),
4615+
HDA_CODEC_ENTRY(0x10de00b1, "GPU b1 HDMI/DP", patch_nvhdmi),
4616+
HDA_CODEC_ENTRY(0x10de00c0, "GPU c0 HDMI/DP", patch_nvhdmi),
4617+
HDA_CODEC_ENTRY(0x10de00c1, "GPU c1 HDMI/DP", patch_nvhdmi),
4618+
HDA_CODEC_ENTRY(0x10de00c3, "GPU c3 HDMI/DP", patch_nvhdmi),
4619+
HDA_CODEC_ENTRY(0x10de00c4, "GPU c4 HDMI/DP", patch_nvhdmi),
4620+
HDA_CODEC_ENTRY(0x10de00c5, "GPU c5 HDMI/DP", patch_nvhdmi),
46024621
HDA_CODEC_ENTRY(0x10de8001, "MCP73 HDMI", patch_nvhdmi_2ch),
46034622
HDA_CODEC_ENTRY(0x10de8067, "MCP67/68 HDMI", patch_nvhdmi_2ch),
46044623
HDA_CODEC_ENTRY(0x67663d82, "Arise 82 HDMI/DP", patch_gf_hdmi),

sound/pci/hda/patch_realtek.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10881,6 +10881,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1088110881
SND_PCI_QUIRK(0x103c, 0x8ce0, "HP SnowWhite", ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED),
1088210882
SND_PCI_QUIRK(0x103c, 0x8cf5, "HP ZBook Studio 16", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
1088310883
SND_PCI_QUIRK(0x103c, 0x8d01, "HP ZBook Power 14 G12", ALC285_FIXUP_HP_GPIO_LED),
10884+
SND_PCI_QUIRK(0x103c, 0x8d07, "HP Victus 15-fb2xxx (MB 8D07)", ALC245_FIXUP_HP_MUTE_LED_COEFBIT),
1088410885
SND_PCI_QUIRK(0x103c, 0x8d18, "HP EliteStudio 8 AIO", ALC274_FIXUP_HP_AIO_BIND_DACS),
1088510886
SND_PCI_QUIRK(0x103c, 0x8d84, "HP EliteBook X G1i", ALC285_FIXUP_HP_GPIO_LED),
1088610887
SND_PCI_QUIRK(0x103c, 0x8d85, "HP EliteBook 14 G12", ALC285_FIXUP_HP_GPIO_LED),
@@ -11040,6 +11041,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1104011041
SND_PCI_QUIRK(0x1043, 0x1e63, "ASUS H7606W", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
1104111042
SND_PCI_QUIRK(0x1043, 0x1e83, "ASUS GA605W", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
1104211043
SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401),
11044+
SND_PCI_QUIRK(0x1043, 0x1e93, "ASUS ExpertBook B9403CVAR", ALC294_FIXUP_ASUS_HPE),
1104311045
SND_PCI_QUIRK(0x1043, 0x1eb3, "ASUS Ally RCLA72", ALC287_FIXUP_TAS2781_I2C),
1104411046
SND_PCI_QUIRK(0x1043, 0x1ed3, "ASUS HN7306W", ALC287_FIXUP_CS35L41_I2C_2),
1104511047
SND_PCI_QUIRK(0x1043, 0x1ee2, "ASUS UM6702RA/RC", ALC287_FIXUP_CS35L41_I2C_2),
@@ -11424,6 +11426,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
1142411426
SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13),
1142511427
SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO),
1142611428
SND_PCI_QUIRK(0x2782, 0x1407, "Positivo P15X", ALC269_FIXUP_POSITIVO_P15X_HEADSET_MIC),
11429+
SND_PCI_QUIRK(0x2782, 0x1409, "Positivo K116J", ALC269_FIXUP_POSITIVO_P15X_HEADSET_MIC),
1142711430
SND_PCI_QUIRK(0x2782, 0x1701, "Infinix Y4 Max", ALC269VC_FIXUP_INFINIX_Y4_MAX),
1142811431
SND_PCI_QUIRK(0x2782, 0x1705, "MEDION E15433", ALC269VC_FIXUP_INFINIX_Y4_MAX),
1142911432
SND_PCI_QUIRK(0x2782, 0x1707, "Vaio VJFE-ADL", ALC298_FIXUP_SPK_VOLUME),

sound/pci/hda/tas2781_hda.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static void tas2781_apply_calib(struct tasdevice_priv *p)
4444
TASDEVICE_REG(0, 0x13, 0x70),
4545
TASDEVICE_REG(0, 0x18, 0x7c),
4646
};
47-
unsigned int crc, oft;
47+
unsigned int crc, oft, node_num;
4848
unsigned char *buf;
4949
int i, j, k, l;
5050

@@ -80,8 +80,9 @@ static void tas2781_apply_calib(struct tasdevice_priv *p)
8080
dev_err(p->dev, "%s: CRC error\n", __func__);
8181
return;
8282
}
83+
node_num = tmp_val[1];
8384

84-
for (j = 0, k = 0; j < tmp_val[1]; j++) {
85+
for (j = 0, k = 0; j < node_num; j++) {
8586
oft = j * 6 + 3;
8687
if (tmp_val[oft] == TASDEV_UEFI_CALI_REG_ADDR_FLG) {
8788
for (i = 0; i < TASDEV_CALIB_N; i++) {
@@ -99,8 +100,9 @@ static void tas2781_apply_calib(struct tasdevice_priv *p)
99100
}
100101

101102
data[l] = k;
103+
oft++;
102104
for (i = 0; i < TASDEV_CALIB_N * 4; i++)
103-
data[l + i] = data[4 * oft + i];
105+
data[l + i + 1] = data[4 * oft + i];
104106
k++;
105107
}
106108
}

sound/soc/codecs/cs35l56-shared.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,7 @@ int cs35l56_hw_init(struct cs35l56_base *cs35l56_base)
980980
break;
981981
default:
982982
dev_err(cs35l56_base->dev, "Unknown device %x\n", devid);
983-
return ret;
983+
return -ENODEV;
984984
}
985985

986986
cs35l56_base->type = devid & 0xFF;

sound/soc/fsl/fsl_asrc.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,8 @@ static int fsl_asrc_config_pair(struct fsl_asrc_pair *pair, bool use_ideal_rate)
517517
regmap_update_bits(asrc->regmap, REG_ASRCTR,
518518
ASRCTR_ATSi_MASK(index), ASRCTR_ATS(index));
519519
regmap_update_bits(asrc->regmap, REG_ASRCTR,
520-
ASRCTR_USRi_MASK(index), 0);
520+
ASRCTR_IDRi_MASK(index) | ASRCTR_USRi_MASK(index),
521+
ASRCTR_USR(index));
521522

522523
/* Set the input and output clock sources */
523524
regmap_update_bits(asrc->regmap, REG_ASRCSR,

sound/soc/fsl/fsl_sai.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -803,13 +803,15 @@ static void fsl_sai_config_disable(struct fsl_sai *sai, int dir)
803803
* anymore. Add software reset to fix this issue.
804804
* This is a hardware bug, and will be fix in the
805805
* next sai version.
806+
*
807+
* In consumer mode, this can happen even after a
808+
* single open/close, especially if both tx and rx
809+
* are running concurrently.
806810
*/
807-
if (!sai->is_consumer_mode[tx]) {
808-
/* Software Reset */
809-
regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR);
810-
/* Clear SR bit to finish the reset */
811-
regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0);
812-
}
811+
/* Software Reset */
812+
regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR);
813+
/* Clear SR bit to finish the reset */
814+
regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0);
813815
}
814816

815817
static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd,

sound/soc/intel/boards/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ config SND_SOC_INTEL_SOF_NUVOTON_COMMON
4242
tristate
4343

4444
config SND_SOC_INTEL_SOF_BOARD_HELPERS
45+
select SND_SOC_ACPI_INTEL_MATCH
4546
tristate
4647

4748
if SND_SOC_INTEL_CATPT

sound/soc/intel/boards/sof_sdw.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -783,6 +783,9 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
783783
static const struct snd_pci_quirk sof_sdw_ssid_quirk_table[] = {
784784
SND_PCI_QUIRK(0x1043, 0x1e13, "ASUS Zenbook S14", SOC_SDW_CODEC_MIC),
785785
SND_PCI_QUIRK(0x1043, 0x1f43, "ASUS Zenbook S16", SOC_SDW_CODEC_MIC),
786+
SND_PCI_QUIRK(0x17aa, 0x2347, "Lenovo P16", SOC_SDW_CODEC_MIC),
787+
SND_PCI_QUIRK(0x17aa, 0x2348, "Lenovo P16", SOC_SDW_CODEC_MIC),
788+
SND_PCI_QUIRK(0x17aa, 0x2349, "Lenovo P1", SOC_SDW_CODEC_MIC),
786789
{}
787790
};
788791

0 commit comments

Comments
 (0)