linux/drivers/acpi
Heikki Krogerus d2d2e3c46b acpi: Add helper for deactivating memory region
Sometimes memory resource may be overlapping with
SystemMemory Operation Region by design, for example if the
memory region is used as a mailbox for communication with a
firmware in the system. One occasion of such mailboxes is
USB Type-C Connector System Software Interface (UCSI).

With regions like that, it is important that the driver is
able to map the memory with the requirements it has. For
example, the driver should be allowed to map the memory as
non-cached memory. However, if the operation region has been
accessed before the driver has mapped the memory, the memory
has been marked as write-back by the time the driver is
loaded. That means the driver will fail to map the memory
if it expects non-cached memory.

To work around the problem, introducing helper that the
drivers can use to temporarily deactivate (unmap)
SystemMemory Operation Regions that overlap with their
IO memory.

Fixes: 8243edf441 ("usb: typec: ucsi: Add ACPI driver")
Cc: stable@vger.kernel.org
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-25 21:30:12 +08:00
..
acpica ACPICA: Recognize the _OSI string "Windows 2017.2" 2018-06-10 13:19:50 +02:00
apei treewide: kvmalloc() -> kvmalloc_array() 2018-06-12 16:19:22 -07:00
arm64
dptf
nfit treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
pmic
x86
Kconfig ACPI: Enable PPTT support on ARM64 2018-05-17 17:28:09 +01:00
Makefile ACPI: Enable PPTT support on ARM64 2018-05-17 17:28:09 +01:00
ac.c ACPI updates for 4.18-rc1 2018-06-05 10:08:27 -07:00
acpi_amba.c
acpi_apd.c ACPI: APD: Add AMD misc clock handler support 2018-05-17 12:44:06 +02:00
acpi_cmos_rtc.c
acpi_configfs.c
acpi_dbg.c
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_lpss.c Merge branches 'acpi-soc' and 'acpi-processor' 2018-06-21 14:19:08 +02:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
acpi_pnp.c
acpi_processor.c
acpi_tad.c
acpi_video.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
acpi_watchdog.c ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM 2018-05-24 10:52:49 +02:00
battery.c ACPI updates for 4.18-rc1 2018-06-05 10:08:27 -07:00
bgrt.c
blacklist.c
bus.c
button.c proc: introduce proc_create_single{,_data} 2018-05-16 07:23:35 +02:00
cm_sbs.c
container.c
cppc_acpi.c ACPI / CPPC: Fix invalid PCC channel status errors 2018-05-10 17:16:22 +02:00
custom_method.c
debugfs.c
device_pm.c PM / Domains: Allow a better error handling of dev_pm_domain_attach() 2018-05-14 22:58:44 +02:00
device_sysfs.c
dock.c
ec.c ACPI / EC: Use ec_no_wakeup on Thinkpad X1 Carbon 6th 2018-06-18 13:32:37 +02:00
ec_sys.c
event.c
evged.c
fan.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
glue.c
hed.c
internal.h ACPI: EC: Dispatch the EC GPE directly on s2idle wake 2018-05-25 10:32:13 +02:00
ioapic.c
irq.c
numa.c
nvs.c
osi.c
osl.c acpi: Add helper for deactivating memory region 2018-06-25 21:30:12 +08:00
pci_irq.c
pci_link.c
pci_mcfg.c
pci_root.c Merge branch 'pci/hotplug' 2018-06-06 16:10:10 -05:00
pci_slot.c
power.c
pptt.c ACPI/PPTT: Add Processor Properties Topology Table parsing 2018-05-17 17:28:09 +01:00
proc.c
processor_core.c
processor_driver.c
processor_idle.c
processor_pdc.c
processor_perflib.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
processor_thermal.c
processor_throttling.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
property.c
reboot.c ACPI: add missing newline to printk 2018-05-02 13:01:08 +02:00
resource.c
sbs.c
sbshc.c
sbshc.h
scan.c ACPI / scan: Initialize watchdog before PNP 2018-04-23 08:56:38 +02:00
sleep.c ACPI: EC: Dispatch the EC GPE directly on s2idle wake 2018-05-25 10:32:13 +02:00
sleep.h
spcr.c
sysfs.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tables.c arm64 updates for 4.18: 2018-06-08 11:10:58 -07:00
thermal.c
utils.c
video_detect.c
wakeup.c