Messages in this thread Patch in this message |  | | From | Tsuchiya Yuto <> | Subject | [PATCH 16/17] [NOT-FOR-MERGE] media: atomsip: pci: add DMI match for Microsoft Surface 3 with broken DMI (OEMB) | Date | Mon, 18 Oct 2021 01:19:56 +0900 |
| |
This commit is added for Surface 3 with broken DMI table. HACK-ish. Not intended for upstreaming. Thus, NOT-FOR-MERGE. But, if someone knows a nicer way to address this, comments are welcome...
>8-----------------------------------------------------------------8<
On some Microsoft 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 the driver can enable quirks even on the affected systems.
On affected systems, the 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> --- .../staging/media/atomisp/pci/atomisp_gmin_platform.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c index 948eb6f809f5..3868d64cbc2b 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -377,6 +377,17 @@ static const struct dmi_system_id gmin_vars[] = { }, .driver_data = surface3_vars, }, + { + .ident = "Surface 3", + .matches = { + /* DMI data for Surface 3 with broken DMI table */ + DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."), + DMI_MATCH(DMI_BOARD_NAME, "OEMB"), + DMI_MATCH(DMI_PRODUCT_NAME, "OEMB"), + DMI_MATCH(DMI_SYS_VENDOR, "OEMB"), + }, + .driver_data = surface3_vars, + }, {} }; -- 2.33.1
|  |