From: Tsuchiya Yuto <kitakar@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Patrik Gfeller <patrik.gfeller@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Aniket Bhattacharyea <aniketmail669@gmail.com>,
Aline Santana Cordeiro <alinesantanacordeiro@gmail.com>,
Yang Yingliang <yangyingliang@huawei.com>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Alan <alan@linux.intel.com>, Dinghao Liu <dinghao.liu@zju.edu.cn>,
linux-media@vger.kernel.org, linux-staging@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 16/17] [NOT-FOR-MERGE] media: atomsip: pci: add DMI match for Microsoft Surface 3 with broken DMI (OEMB)
Date: Wed, 27 Oct 2021 23:47:24 +0900 [thread overview]
Message-ID: <096e953682fed458d438d1cde57371d7358b5d7b.camel@gmail.com> (raw)
In-Reply-To: <a2aa76c3-a8bb-99ef-9f5a-e62cc503a1e2@redhat.com>
On Thu, 2021-10-21 at 20:46 +0200, Hans de Goede wrote:
> Hi,
>
> On 10/21/21 11:46, Tsuchiya Yuto wrote:
> > On Mon, 2021-10-18 at 09:56 +0200, Hans de Goede wrote:
> > > Hi,
> > >
> > > On 10/17/21 18:19, Tsuchiya Yuto wrote:
> > > > 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
> > >
> > > I wonder what the bios_date field contains ? Typically when the DMI strings
> > > are no good (e.g. often they contain "Default String" or "To be filled by OEM")
> > > we add a check on the bios-date, which together with the broken strings is
> > > considered unique enough to still allow a match with broken strings in the
> > > kernel.
> >
> > Thank you so much for the comment :-)
> >
> > Here is the full output of "/sys/devices/virtual/dmi/id/*" (not showing
> > files that need root permission to read):
> >
> > $ grep . /sys/devices/virtual/dmi/id/*
> > /sys/devices/virtual/dmi/id/bios_date:03/09/2015
> > /sys/devices/virtual/dmi/id/bios_release:5.6
> > /sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc.
> > /sys/devices/virtual/dmi/id/bios_version:1.51116.238
>
> Interesting, this is the latest BIOS from july 2019 according to:
> https://support.microsoft.com/en-us/surface/surface-3-update-history-5d86a7bc-03f7-2d27-d858-e90ce637fb52
> yet the date is still set to 03/09/2015.
Yeah, I'm a little bit confused about this.
> I just checked and the BIOS with not corrupted DMI strings also keeps
> the date at 03/09/2015 in BIOS updates.
>
> So the date is correct, and together with matching a coupleof the OEMB-s
> (which I've never seen anywhere else either) this should be plenty
> unique.
>
> So this not only allows adding this mathc to atomisp, but also to fix
> sound + wmi on bad DMI data OEMB Surface 3-s, by updating this patch:
>
> https://github.com/linux-surface/linux-surface/blob/2fb7e9ae91350098db9a280277f424272816a9ab/patches/5.5/0003-surface3-oemb.patch
>
> To include the BIOS-date match and then submitting this upstream
> (as 2 separate patches please).
>
> Tsuchiya, I take it that your Surface 3 has the OEMB issue, so you
> can actually test this ?
Yes, my surface3 is also affected and I can test this.
> If you can prepare 2 patches for the sound + wmi then; and submit
> them upstream that would be great. Please Cc me on both patches.
Thank you for the suggestion, but I started having a mixed feeling about
sending this kind of patches... This "OEMB" issue is not a design by
manufacturers, but simply just it got broken after something (maybe a
force power off?). On the other hand, I know there are also indeed some
people affected by this issue other than me...
If possible, I rather want to fix this broken DMI table, but I couldn't
find the way until now though.
But again, thank you for the suggestion. I'll consider sending the
patches when I gave up fixing it...
<Below is completely off topic from atomisp>
I think some useful BIOS option might be just hidden. So, I'd like to
try this way. I already find the string "Restore Defaults" using
uefitool/ifrextract:
0x13429 Form: Save & Exit, FormId: 0x2719 {01 86 19 27 4C 00}
[...]
0x134E0 Suppress If {0A 82}
0x134E2 QuestionId: 0x1C3 equals value 0x5 {12 06 C3 01 05 00}
0x134E8 Ref: Restore Defaults, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x1BC, FormId: 0x2719 {0F 0F 5B 00 5C 00 BC 01 00 00 FF FF 00 19 27}
0x134F7 End If {29 02}
[...]
I currently don't know how I can call this. I want to try this way when
I have some time...
Regards,
Tsuchiya Yuto
next prev parent reply other threads:[~2021-10-27 14:47 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-17 16:19 [PATCH 00/17] various fixes for atomisp to make it work Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 01/17] media: atomisp: pci: add missing media_device_cleanup() in atomisp_unregister_entities() Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 02/17] media: atomisp: pci: fix punit_ddr_dvfs_enable() argument for mrfld_power up case Tsuchiya Yuto
2021-10-18 11:07 ` Andy Shevchenko
2021-10-20 13:25 ` Tsuchiya Yuto
2021-12-01 12:07 ` Tsuchiya Yuto
2021-11-02 11:26 ` Dan Carpenter
2021-11-08 14:48 ` Tsuchiya Yuto
2021-11-08 15:10 ` Dan Carpenter
2021-10-17 16:19 ` [PATCH 03/17] media: atomisp: pci: fix inverted logic in buffers_needed() Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 04/17] media: atomisp: pci: do not use err var when checking port validity for ISP2400 Tsuchiya Yuto
[not found] ` <20211026092637.196447aa@sal.lan>
2021-10-28 4:12 ` Tsuchiya Yuto
2021-10-28 6:52 ` Mauro Carvalho Chehab
2021-10-28 11:39 ` Mauro Carvalho Chehab
2021-11-01 13:38 ` Tsuchiya Yuto
2021-11-01 14:10 ` Mauro Carvalho Chehab
2021-11-01 19:06 ` Hans de Goede
2021-11-01 19:27 ` Andy Shevchenko
2021-11-01 19:52 ` Hans de Goede
2021-11-01 20:03 ` Mauro Carvalho Chehab
2021-11-01 21:06 ` Hans de Goede
2021-11-01 21:33 ` Mauro Carvalho Chehab
2021-11-11 14:34 ` Tsuchiya Yuto
2021-11-11 16:09 ` Andy Shevchenko
2021-11-11 19:37 ` Mauro Carvalho Chehab
2021-11-11 20:39 ` Andy Shevchenko
2021-11-11 18:38 ` Mauro Carvalho Chehab
2021-11-17 22:24 ` Mauro Carvalho Chehab
2021-12-01 11:30 ` Tsuchiya Yuto
2021-12-01 11:35 ` Tsuchiya Yuto
2021-12-01 12:00 ` Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 05/17] media: atomisp: pci: fix inverted error check for ia_css_mipi_is_source_port_valid() Tsuchiya Yuto
2021-11-02 11:33 ` Dan Carpenter
2021-11-08 15:00 ` Tsuchiya Yuto
2021-11-08 15:14 ` Dan Carpenter
2021-11-08 15:25 ` Tsuchiya Yuto
2021-11-08 15:33 ` Dan Carpenter
2021-11-08 16:35 ` Mauro Carvalho Chehab
2021-12-01 12:15 ` Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 06/17] media: atomisp: pci: use IA_CSS_ERROR() for error messages in sh_css_mipi.c Tsuchiya Yuto
2021-11-02 11:35 ` Dan Carpenter
2021-11-08 15:39 ` Tsuchiya Yuto
2021-11-08 16:39 ` Mauro Carvalho Chehab
2021-10-17 16:19 ` [PATCH 07/17] media: atomisp: pci: fix ifdefs in sh_css.c Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 08/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 1/5 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 09/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 2/5 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 10/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 3/5 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 11/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 4/5 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 12/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 5/5 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 13/17] media: atomisp: pci: release_version is now irci_stable_candrpv_0415_20150521_0458 Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 14/17] media: atomisp: pci: Remove remaining instance of call to trace_printk Tsuchiya Yuto
[not found] ` <20211026093224.6c7f7fbf@sal.lan>
2021-10-28 9:34 ` Tsuchiya Yuto
2021-10-28 11:42 ` Mauro Carvalho Chehab
2021-11-01 14:22 ` Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 15/17] media: atomsip: pci: add Microsoft Surface 3 ACPI vars Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 16/17] [NOT-FOR-MERGE] media: atomsip: pci: add DMI match for Microsoft Surface 3 with broken DMI (OEMB) Tsuchiya Yuto
2021-10-18 7:56 ` Hans de Goede
2021-10-21 9:46 ` Tsuchiya Yuto
2021-10-21 18:46 ` Hans de Goede
2021-10-27 14:47 ` Tsuchiya Yuto [this message]
2021-10-27 15:30 ` Hans de Goede
2021-10-18 7:56 ` Hans de Goede
2021-10-17 16:19 ` [PATCH 17/17] [NOT-FOR-MERGE] atomisp: Fix up the open v load race Tsuchiya Yuto
2021-10-18 7:48 ` [PATCH 00/17] various fixes for atomisp to make it work Hans de Goede
2021-10-19 13:50 ` Tsuchiya Yuto
2021-10-19 16:36 ` Andy Shevchenko
2021-10-20 13:17 ` Tsuchiya Yuto
2021-10-18 7:56 ` Andy Shevchenko
2021-10-20 6:50 ` Mauro Carvalho Chehab
2021-10-20 12:44 ` Tsuchiya Yuto
2021-10-18 11:04 ` Andy Shevchenko
2021-10-20 12:48 ` Tsuchiya Yuto
2021-10-28 4:32 ` Tsuchiya Yuto
2021-10-28 10:58 ` Mauro Carvalho Chehab
2021-10-30 9:50 ` Tsuchiya Yuto
2021-10-30 10:49 ` Mauro Carvalho Chehab
2021-10-30 11:01 ` Andy Shevchenko
2021-10-30 18:30 ` Mauro Carvalho Chehab
2021-10-28 12:51 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=096e953682fed458d438d1cde57371d7358b5d7b.camel@gmail.com \
--to=kitakar@gmail.com \
--cc=alan@linux.intel.com \
--cc=alinesantanacordeiro@gmail.com \
--cc=aniketmail669@gmail.com \
--cc=dinghao.liu@zju.edu.cn \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=hverkuil-cisco@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=patrik.gfeller@gmail.com \
--cc=sakari.ailus@linux.intel.com \
--cc=yangyingliang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome