kernel-fxtec-pro1x/drivers/mfd
Tuowen Zhao e06a89985c mfd: intel-lpss: Use devm_ioremap_uc for MMIO
commit a8ff78f7f773142eb8a8befe5a95dd6858ebd635 upstream.

Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci
in MTRR. This will cause the system to hang during boot. If possible,
this bug could be corrected with a firmware update.

This patch use devm_ioremap_uc to overwrite/ignore the MTRR settings
by forcing the use of strongly uncachable pages for intel-lpss.

The BIOS bug is present on Dell XPS 13 7390 2-in-1:

[    0.001734]   5 base 4000000000 mask 6000000000 write-combining

4000000000-7fffffffff : PCI Bus 0000:00
  4000000000-400fffffff : 0000:00:02.0 (i915)
  4010000000-4010000fff : 0000:00:15.0 (intel-lpss-pci)

Link: https://bugzilla.kernel.org/show_bug.cgi?id=203485
Cc: <stable@vger.kernel.org> # v4.19+
Tested-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Roman Gilg <subdiff@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-10 10:30:11 +02:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c
ab3100-core.c
ab3100-otp.c
ab8500-core.c mfd: ab8500-core: Return zero in get_register_interruptible() 2019-02-27 10:08:51 +01:00
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
act8945a.c
adp5520.c
altera-a10sr.c
arizona-core.c mfd: arizona: Correct calling of runtime_put_sync 2019-12-01 09:16:56 +01:00
arizona-i2c.c
arizona-irq.c
arizona-spi.c
arizona.h
as3711.c
as3722.c
asic3.c
atmel-flexcom.c
atmel-hlcdc.c
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile 2020-02-11 04:34:01 -08:00
bcm590xx.c
bd9571mwv.c mfd: bd9571mwv: Add volatile register to make DVFS work 2019-02-27 10:08:51 +01:00
cros_ec.c
cros_ec_dev.c mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove 2019-02-27 10:08:52 +01:00
cros_ec_dev.h
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
da9055-core.c
da9055-i2c.c
da9062-core.c mfd: da9062: Fix watchdog compatible string 2020-02-11 04:34:14 -08:00
da9063-core.c
da9063-i2c.c
da9063-irq.c
da9150-core.c
davinci_voicecodec.c
db8500-prcmu.c mfd: db8500-prcmu: Fix some section annotations 2019-02-27 10:08:51 +01:00
dbx500-prcmu-regs.h
dln2.c mfd: dln2: Fix sanity checking for endpoints 2020-04-17 10:48:55 +02:00
dm355evm_msp.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
hi655x-pmic.c mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk 2019-07-31 07:27:03 +02:00
hi6421-pmic-core.c
htc-i2cpld.c
htc-pasic3.c
intel-lpss-acpi.c
intel-lpss-pci.c mfd: intel-lpss: Add default I2C device properties for Gemini Lake 2020-01-27 14:49:51 +01:00
intel-lpss.c mfd: intel-lpss: Use devm_ioremap_uc for MMIO 2020-05-10 10:30:11 +02:00
intel-lpss.h
intel_msic.c
intel_quark_i2c_gpio.c
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: Chain power button IRQs as well 2019-12-01 09:16:57 +01:00
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c
intel_soc_pmic_core.c
intel_soc_pmic_core.h
intel_soc_pmic_crc.c
ipaq-micro.c
janz-cmodio.c
jz4740-adc.c
Kconfig mfd: Kconfig: Fix I2C_DESIGNWARE_PLATFORM dependencies 2019-09-16 08:22:04 +02:00
kempld-core.c
lm3533-core.c
lm3533-ctrlbank.c
lp873x.c
lp3943.c
lp8788-irq.c
lp8788.c
lp87565.c
lpc_ich.c
lpc_sch.c
madera-core.c mfd: madera: Add missing of table registration 2019-07-31 07:27:03 +02:00
madera-i2c.c
madera-spi.c
madera.h
Makefile
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c mfd: max8997: Enale irq-wakeup unconditionally 2019-12-01 09:16:57 +01:00
max8998-irq.c
max8998.c
max14577.c
max77620.c
max77686.c
max77693.c
max77843.c
mc13xxx-core.c mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values 2019-12-01 09:16:56 +01:00
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c mfd: core: Set fwnode for created devices 2019-07-31 07:27:03 +02:00
motorola-cpcap.c
mt6397-core.c mfd: mt6397: Do not call irq_domain_remove if PMIC unsupported 2019-02-27 10:08:51 +01:00
mxs-lradc.c
omap-usb-host.c
omap-usb-tll.c
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
qcom-pm8xxx.c
qcom-spmi-pmic.c
qcom_rpm.c mfd: qcom_rpm: write fw_version to CTRL_REG 2019-02-27 10:08:51 +01:00
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c
rn5t618.c mfd: rn5t618: Mark ADC control register volatile 2020-02-11 04:34:14 -08:00
rohm-bd718x7.c
rt5033.c
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sky81452.c
sm501.c mfd: sm501: Fix potential NULL pointer dereference 2019-03-23 20:10:09 +01:00
smsc-ece1099.c
sprd-sc27xx-spi.c
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c
stmpe-i2c.c
stmpe-spi.c
stmpe.c
stmpe.h
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti-lmu.c
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Keep ADC interface on if child is wakeup capable 2019-11-24 08:20:46 +01:00
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c
tps6507x.c
tps6586x.c mfd: tps6586x: Handle interrupts on suspend 2019-01-22 21:40:33 +01:00
tps65010.c
tps65086.c
tps65090.c
tps65217.c
tps65218.c mfd: tps65218: Use devm_regmap_add_irq_chip and clean up error path in probe() 2019-02-27 10:08:52 +01:00
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c mfd: tps65912-spi: Add missing of table registration 2019-06-15 11:54:02 +02:00
tps68470.c
tps80031.c
twl-core.c mfd: twl-core: Disable IRQ while suspended 2019-05-08 07:21:48 +02:00
twl-core.h
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c mfd: twl6040: Fix device init errors for ACCCTL register 2019-06-15 11:54:03 +02:00
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wl1273-core.c
wm97xx-core.c
wm831x-auxadc.c
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c mfd: wm5110: Add missing ASRC rate register 2019-02-27 10:08:51 +01:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c