[PATCH 0/1][B][D][E][Unstable] intel-lpss driver conflicts with write-combining MTRR region

AceLan Kao acelan.kao at canonical.com
Fri Sep 27 08:07:44 UTC 2019


BugLink: https://bugs.launchpad.net/bugs/1845584

[Impact]
The memory region intel-lpss-pci uses has been declared as
write-combining
[ 0.001728] 5 base 4000000000 mask 6000000000 write-combining
This leads to the system hangs up during booting up.

This is a BIOS issue, but there are some platforms on the market and
users are struggling on booting up the machines. So, we may have to
fix this in the kernel.

[Fix]
Tuowen Zhao(ztuowen at gmail.com)[1] provides a diff patch for intel-lpss
driver to claim to use un-cacheable memory while calling
__devm_ioremap(), and it works well. But it haven't been accepted by
maintainer yet.

To avoid the potential impact on other machines, I add a quirk to list
the machines which has the write-combining area in MTRR which overlaps
with the address that intel-lpss uses, only the machines in the list
pass DEVM_IOREMAP_UC to __devm_ioremap().

[Test]
Verified on Dell XPS 13 7390 2-in-1

[Regression Potential]
Low, without this patch, the machine even can't boot. And the quirk only
for specific machines, so the modification won't affect other machines.

1. https://bugzilla.kernel.org/show_bug.cgi?id=203485#c23

AceLan Kao (1):
  mfd: intel-lpss: add quirk for Dell XPS 13 7390 2-in-1

 drivers/mfd/intel-lpss.c | 20 ++++++++++++++++++--
 include/linux/io.h       |  2 ++
 lib/devres.c             | 20 ++++++++++++++++++++
 3 files changed, 40 insertions(+), 2 deletions(-)

-- 
2.17.1




More information about the kernel-team mailing list