Commit 4a224885 authored by Takashi Iwai's avatar Takashi Iwai

Merge tag 'asoc-fix-v6.4-rc1' of...

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.
parents 0d727e18 ec6f82b4
...@@ -227,6 +227,20 @@ static const struct dmi_system_id yc_acp_quirk_table[] = { ...@@ -227,6 +227,20 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "M5402RA"), DMI_MATCH(DMI_PRODUCT_NAME, "M5402RA"),
} }
}, },
{
.driver_data = &acp6x_card,
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "M6400RC"),
}
},
{
.driver_data = &acp6x_card,
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_PRODUCT_NAME, "M3402RA"),
}
},
{ {
.driver_data = &acp6x_card, .driver_data = &acp6x_card,
.matches = { .matches = {
......
...@@ -1090,7 +1090,7 @@ config SND_SOC_MAX98088 ...@@ -1090,7 +1090,7 @@ config SND_SOC_MAX98088
depends on I2C depends on I2C
config SND_SOC_MAX98090 config SND_SOC_MAX98090
tristate tristate "Maxim MAX98090 CODEC"
depends on I2C depends on I2C
config SND_SOC_MAX98095 config SND_SOC_MAX98095
......
This diff is collapsed.
This diff is collapsed.
...@@ -663,6 +663,7 @@ struct wcd938x_sdw_priv { ...@@ -663,6 +663,7 @@ struct wcd938x_sdw_priv {
bool is_tx; bool is_tx;
struct wcd938x_priv *wcd938x; struct wcd938x_priv *wcd938x;
struct irq_domain *slave_irq; struct irq_domain *slave_irq;
struct regmap *regmap;
}; };
#if IS_ENABLED(CONFIG_SND_SOC_WCD938X_SDW) #if IS_ENABLED(CONFIG_SND_SOC_WCD938X_SDW)
......
...@@ -124,7 +124,7 @@ static const struct snd_soc_acpi_codecs rt5640_comp_ids = { ...@@ -124,7 +124,7 @@ static const struct snd_soc_acpi_codecs rt5640_comp_ids = {
}; };
static const struct snd_soc_acpi_codecs wm5102_comp_ids = { static const struct snd_soc_acpi_codecs wm5102_comp_ids = {
.num_codecs = 2, .num_codecs = 3,
.codecs = { "10WM5102", "WM510204", "WM510205"}, .codecs = { "10WM5102", "WM510204", "WM510205"},
}; };
......
...@@ -50,6 +50,31 @@ static struct snd_soc_acpi_mach *cht_quirk(void *arg) ...@@ -50,6 +50,31 @@ static struct snd_soc_acpi_mach *cht_quirk(void *arg)
return mach; return mach;
} }
/*
* Some tablets with Android factory OS have buggy DSDTs with an ESSX8316 device
* in the ACPI tables. While they are not using an ESS8316 codec. These DSDTs
* also have an ACPI device for the correct codec, ignore the ESSX8316.
*/
static const struct dmi_system_id cht_ess8316_not_present_table[] = {
{
/* Nextbook Ares 8A */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"),
DMI_MATCH(DMI_BIOS_VERSION, "M882"),
},
},
{ }
};
static struct snd_soc_acpi_mach *cht_ess8316_quirk(void *arg)
{
if (dmi_check_system(cht_ess8316_not_present_table))
return NULL;
return arg;
}
static const struct snd_soc_acpi_codecs rt5640_comp_ids = { static const struct snd_soc_acpi_codecs rt5640_comp_ids = {
.num_codecs = 2, .num_codecs = 2,
.codecs = { "10EC5640", "10EC3276" }, .codecs = { "10EC5640", "10EC3276" },
...@@ -113,6 +138,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cherrytrail_machines[] = { ...@@ -113,6 +138,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cherrytrail_machines[] = {
.drv_name = "bytcht_es8316", .drv_name = "bytcht_es8316",
.fw_filename = "intel/fw_sst_22a8.bin", .fw_filename = "intel/fw_sst_22a8.bin",
.board = "bytcht_es8316", .board = "bytcht_es8316",
.machine_quirk = cht_ess8316_quirk,
.sof_tplg_filename = "sof-cht-es8316.tplg", .sof_tplg_filename = "sof-cht-es8316.tplg",
}, },
/* some CHT-T platforms rely on RT5640, use Baytrail machine driver */ /* some CHT-T platforms rely on RT5640, use Baytrail machine driver */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment