Comment 0 for bug 1845584

AceLan Kao (acelankao) wrote :

The memory region intel-lpss-pci uses has been declared as
[ 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.

Tuowen Zhao(<email address hidden>)[1] provides a diff patch for intel-lpss
driver to claim to use un-catchable memory while calling
__devm_ioremap(), and it works well.

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 the DEVM_IOREMAP_UC to __devm_ioremap().

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.