Skip to content

Commit 4a22488

Browse files
committed
Merge tag 'asoc-fix-v6.4-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v6.4 A small set of fixes and device quirks that have come in during the merge window, the Qualcomm fix seems quite large but it's mainly code motion so looks larger than it is.
2 parents 0d727e1 + ec6f82b commit 4a22488

7 files changed

Lines changed: 1072 additions & 1013 deletions

File tree

sound/soc/amd/yc/acp6x-mach.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,20 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
227227
DMI_MATCH(DMI_PRODUCT_NAME, "M5402RA"),
228228
}
229229
},
230+
{
231+
.driver_data = &acp6x_card,
232+
.matches = {
233+
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
234+
DMI_MATCH(DMI_PRODUCT_NAME, "M6400RC"),
235+
}
236+
},
237+
{
238+
.driver_data = &acp6x_card,
239+
.matches = {
240+
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
241+
DMI_MATCH(DMI_PRODUCT_NAME, "M3402RA"),
242+
}
243+
},
230244
{
231245
.driver_data = &acp6x_card,
232246
.matches = {

sound/soc/codecs/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ config SND_SOC_MAX98088
10901090
depends on I2C
10911091

10921092
config SND_SOC_MAX98090
1093-
tristate
1093+
tristate "Maxim MAX98090 CODEC"
10941094
depends on I2C
10951095

10961096
config SND_SOC_MAX98095

sound/soc/codecs/wcd938x-sdw.c

Lines changed: 1025 additions & 12 deletions
Large diffs are not rendered by default.

sound/soc/codecs/wcd938x.c

Lines changed: 4 additions & 999 deletions
Large diffs are not rendered by default.

sound/soc/codecs/wcd938x.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,7 @@ struct wcd938x_sdw_priv {
663663
bool is_tx;
664664
struct wcd938x_priv *wcd938x;
665665
struct irq_domain *slave_irq;
666+
struct regmap *regmap;
666667
};
667668

668669
#if IS_ENABLED(CONFIG_SND_SOC_WCD938X_SDW)

sound/soc/intel/common/soc-acpi-intel-byt-match.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ static const struct snd_soc_acpi_codecs rt5640_comp_ids = {
124124
};
125125

126126
static const struct snd_soc_acpi_codecs wm5102_comp_ids = {
127-
.num_codecs = 2,
127+
.num_codecs = 3,
128128
.codecs = { "10WM5102", "WM510204", "WM510205"},
129129
};
130130

sound/soc/intel/common/soc-acpi-intel-cht-match.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,31 @@ static struct snd_soc_acpi_mach *cht_quirk(void *arg)
5050
return mach;
5151
}
5252

53+
/*
54+
* Some tablets with Android factory OS have buggy DSDTs with an ESSX8316 device
55+
* in the ACPI tables. While they are not using an ESS8316 codec. These DSDTs
56+
* also have an ACPI device for the correct codec, ignore the ESSX8316.
57+
*/
58+
static const struct dmi_system_id cht_ess8316_not_present_table[] = {
59+
{
60+
/* Nextbook Ares 8A */
61+
.matches = {
62+
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
63+
DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"),
64+
DMI_MATCH(DMI_BIOS_VERSION, "M882"),
65+
},
66+
},
67+
{ }
68+
};
69+
70+
static struct snd_soc_acpi_mach *cht_ess8316_quirk(void *arg)
71+
{
72+
if (dmi_check_system(cht_ess8316_not_present_table))
73+
return NULL;
74+
75+
return arg;
76+
}
77+
5378
static const struct snd_soc_acpi_codecs rt5640_comp_ids = {
5479
.num_codecs = 2,
5580
.codecs = { "10EC5640", "10EC3276" },
@@ -113,6 +138,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cherrytrail_machines[] = {
113138
.drv_name = "bytcht_es8316",
114139
.fw_filename = "intel/fw_sst_22a8.bin",
115140
.board = "bytcht_es8316",
141+
.machine_quirk = cht_ess8316_quirk,
116142
.sof_tplg_filename = "sof-cht-es8316.tplg",
117143
},
118144
/* some CHT-T platforms rely on RT5640, use Baytrail machine driver */

0 commit comments

Comments
 (0)