123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- From 212c5559ce9393295461b2872db2b058924a1079 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/surface/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/surface/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c
- index ca4602bcc7de..490b9731068a 100644
- --- a/drivers/platform/surface/surface3-wmi.c
- +++ b/drivers/platform/surface/surface3-wmi.c
- @@ -37,6 +37,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 7c7cbb6362ea..81a8ff40e86e 100644
- --- a/sound/soc/codecs/rt5645.c
- +++ b/sound/soc/codecs/rt5645.c
- @@ -3717,6 +3717,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 cdcbf04b8832..958305779b12 100644
- --- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
- +++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
- @@ -27,6 +27,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.41.0
|