[PATCH v4 5/6] PCI: update dma configuration from DT
From: Murali Karicheri <hidden>
Date: 2015-01-26 23:29:44
Also in:
linux-devicetree, linux-iommu, linux-pci, lkml
On 01/23/2015 06:27 PM, Bjorn Helgaas wrote:
On Fri, Jan 23, 2015 at 05:32:38PM -0500, Murali Karicheri wrote:quoted
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. This patch use the new helper function of_pci_dma_configure() to update the device dma configuration. Cc: Joerg Roedel<joro@8bytes.org> Cc: Grant Likely<redacted> Cc: Rob Herring<robh+dt@kernel.org> Cc: Bjorn Helgaas<bhelgaas@google.com> Cc: Will Deacon<redacted> Cc: Russell King<redacted> Cc: Arnd Bergmann<arnd@arndb.de> Cc: Suravee Suthikulpanit<Suravee.Suthikulpanit@amd.com> Signed-off-by: Murali Karicheri<redacted>I assume this series will be merged via some non-PCI tree, so:
Not sure who will pick this. Since this is for PCI, will it be possible to apply this to arm-pci/next?
Acked-by: Bjorn Helgaas<bhelgaas@google.com>
I will add your ack for v5. Murali
quoted
--- drivers/pci/probe.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 23212f8..d7dcd6c 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c@@ -6,6 +6,7 @@ #include<linux/delay.h> #include<linux/init.h> #include<linux/pci.h> +#include<linux/of_pci.h> #include<linux/pci_hotplug.h> #include<linux/slab.h> #include<linux/module.h>@@ -1520,6 +1521,7 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) dev->dev.dma_mask =&dev->dma_mask; dev->dev.dma_parms =&dev->dma_parms; dev->dev.coherent_dma_mask = 0xffffffffull; + of_pci_dma_configure(dev); pci_set_dma_max_seg_size(dev, 65536); pci_set_dma_seg_boundary(dev, 0xffffffff); --1.7.9.5
-- Murali Karicheri Linux Kernel, Texas Instruments