All of lore.kernel.org
 help / color / mirror / Atom feed
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



  reply	other threads:[~2021-10-27 14:47 UTC|newest]

Thread overview: 98+ 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 ` 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   ` 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-17 16:19   ` 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   ` 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
2021-10-17 16:19   ` Tsuchiya Yuto
2021-10-26  8:26   ` Mauro Carvalho Chehab
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-10-17 16:19   ` 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-10-17 16:19   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` Tsuchiya Yuto
2021-10-17 16:19 ` [PATCH 14/17] media: atomisp: pci: Remove remaining instance of call to trace_printk Tsuchiya Yuto
2021-10-17 16:19   ` 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   ` 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-17 16:19   ` 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-17 16:19   ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.