PCI: Update DMA configuration from DT
authorMurali Karicheri <m-karicheri2@ti.com>
Tue, 3 Mar 2015 17:52:13 +0000 (12:52 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 12 Mar 2015 16:43:09 +0000 (11:43 -0500)
commitde335bb49269037d1e8906ba59f8bacba732bec6
tree752f43488c0b28a220ea157b2e274d408c68aee6
parentc49b8fc26e115a37eca6f7bcef1847eb80f2a4fd
PCI: Update DMA configuration from DT

If there is a DT node available for the root bridge's parent device, use
the DMA configuration from that device node.  For example, Keystone PCI
devices would require dma_pfn_offset to be set correctly in the device
structure of the PCI device in order to have the correct DMA mask.  The DT
node will have dma-ranges defined for this.  Also support using the DT
property dma-coherent to allow coherent DMA operation by the PCI device.

Use the new helper function of_pci_dma_configure() to update the device DMA
configuration.  This fixes DMA on systems where DMA addresses are a
constant offset from CPU physical addresses.

Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> (AMD Seattle)
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
CC: Joerg Roedel <joro@8bytes.org>
CC: Grant Likely <grant.likely@linaro.org>
CC: Rob Herring <robh+dt@kernel.org>
CC: Russell King <linux@arm.linux.org.uk>
CC: Arnd Bergmann <arnd@arndb.de>
drivers/pci/probe.c