45540b9fab
Changes:
- Rebase onto v4.19.206
Links:
- kernel: 9c073cfc7c
102 lines
3.6 KiB
Diff
102 lines
3.6 KiB
Diff
From f2ac73a1a6535648da848404aa571779dfcf66e4 Mon Sep 17 00:00:00 2001
|
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
|
Date: Sun, 18 Oct 2020 16:42:44 +0900
|
|
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
|
|
table
|
|
|
|
On some Surface 3, the DMI table gets corrupted for unknown reasons
|
|
and breaks existing DMI matching used for device-specific quirks.
|
|
|
|
This commit adds the (broken) DMI data into dmi_system_id tables used
|
|
for quirks so that each driver can enable quirks even on the affected
|
|
systems.
|
|
|
|
On affected systems, DMI data will look like this:
|
|
$ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\
|
|
chassis_vendor,product_name,sys_vendor}
|
|
/sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc.
|
|
/sys/devices/virtual/dmi/id/board_name:OEMB
|
|
/sys/devices/virtual/dmi/id/board_vendor:OEMB
|
|
/sys/devices/virtual/dmi/id/chassis_vendor:OEMB
|
|
/sys/devices/virtual/dmi/id/product_name:OEMB
|
|
/sys/devices/virtual/dmi/id/sys_vendor:OEMB
|
|
|
|
Expected:
|
|
$ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\
|
|
chassis_vendor,product_name,sys_vendor}
|
|
/sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc.
|
|
/sys/devices/virtual/dmi/id/board_name:Surface 3
|
|
/sys/devices/virtual/dmi/id/board_vendor:Microsoft Corporation
|
|
/sys/devices/virtual/dmi/id/chassis_vendor:Microsoft Corporation
|
|
/sys/devices/virtual/dmi/id/product_name:Surface 3
|
|
/sys/devices/virtual/dmi/id/sys_vendor:Microsoft Corporation
|
|
|
|
Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
|
|
Patchset: surface3-oemb
|
|
---
|
|
drivers/platform/x86/surface3-wmi.c | 7 +++++++
|
|
sound/soc/codecs/rt5645.c | 9 +++++++++
|
|
sound/soc/intel/common/soc-acpi-intel-cht-match.c | 8 ++++++++
|
|
3 files changed, 24 insertions(+)
|
|
|
|
diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
|
|
index 25b176996cb7..58d11877677f 100644
|
|
--- a/drivers/platform/x86/surface3-wmi.c
|
|
+++ b/drivers/platform/x86/surface3-wmi.c
|
|
@@ -41,6 +41,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
|
|
DMI_MATCH(DMI_PRODUCT_NAME, "Surface 3"),
|
|
},
|
|
},
|
|
+ {
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "OEMB"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "OEMB"),
|
|
+ },
|
|
+ },
|
|
#endif
|
|
{ }
|
|
};
|
|
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
|
|
index 9185bd7c5a6d..a514d03ae58f 100644
|
|
--- a/sound/soc/codecs/rt5645.c
|
|
+++ b/sound/soc/codecs/rt5645.c
|
|
@@ -3712,6 +3712,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
|
|
},
|
|
.driver_data = (void *)&intel_braswell_platform_data,
|
|
},
|
|
+ {
|
|
+ .ident = "Microsoft Surface 3",
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "OEMB"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "OEMB"),
|
|
+ },
|
|
+ .driver_data = (void *)&intel_braswell_platform_data,
|
|
+ },
|
|
{
|
|
/*
|
|
* Match for the GPDwin which unfortunately uses somewhat
|
|
diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
|
|
index 91bb99b69601..8418938b32ad 100644
|
|
--- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
|
|
+++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
|
|
@@ -36,6 +36,14 @@ static const struct dmi_system_id cht_table[] = {
|
|
DMI_MATCH(DMI_PRODUCT_NAME, "Surface 3"),
|
|
},
|
|
},
|
|
+ {
|
|
+ .callback = cht_surface_quirk_cb,
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "OEMB"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "OEMB"),
|
|
+ },
|
|
+ },
|
|
{ }
|
|
};
|
|
|
|
--
|
|
2.33.0
|
|
|