ACPI: Introduce DMA ranges parsing
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 7 Aug 2017 10:29:48 +0000 (11:29 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 7 Aug 2017 12:28:51 +0000 (14:28 +0200)
commitc04ac679c6b86e4e36fbb675c6c061b4091f5810
tree52a0da44e4652e433d94f198a6f4e96547cf88d6
parent4f0450af530e62b0217522cab4803b5a65dccc46
ACPI: Introduce DMA ranges parsing

Some devices have limited addressing capabilities and cannot
reference the whole memory address space while carrying out DMA
operations (eg some devices with bus address bits range smaller than
system bus - which prevents them from using bus addresses that are
otherwise valid for the system).

The ACPI _DMA object allows bus devices to define the DMA window that is
actually addressable by devices that sit upstream the bus, therefore
providing a means to parse and initialize the devices DMA masks and
addressable DMA range size.

By relying on the generic ACPI kernel layer to retrieve and parse
resources, introduce ACPI core code to parse the _DMA object.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/resource.c
drivers/acpi/scan.c
include/acpi/acpi_bus.h
include/linux/acpi.h