PCI devices on Keystone doesn't have correct dma_pfn_offset set. This patchBjorn,
add capability to set the dma configuration such as dma-mask, dma_pfn_offset,
and dma ops etc using the information from DT. The prior RFCs and discussions
are available at [1] and [2] below.
[2] : https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg790244.html
[1] : http://www.gossamer-threads.com/lists/linux/kernel/2024591
Change history:
v3 - addressed comments to re-use of_dma_configure() for PCI
- To help re-use, change of_iommu_configure() function argument
- Move of_dma_configure to of/device.c
- Limit the of_iommu_configure to non pci devices
v2 - update size to coherent_dma_mask + 1 if dma-range info is missing
- also check the np for null.
v1 - updates based on the comments against initial RFC.
- Added a helper function to get the OF node of the parent
- Added an API in of_pci.c to update DMA configuration of the pci
device.
Murali Karicheri (4):
of: iommu: add ptr to OF node arg to of_iommu_configure()
of: move of_dma_configure() to device,c to help re-use
of/pci: add of_pci_dma_configure() update dma configuration
PCI: update dma configuration from DT
drivers/iommu/of_iommu.c | 10 ++++++--
drivers/of/device.c | 58 +++++++++++++++++++++++++++++++++++++++++++++
drivers/of/of_pci.c | 39 ++++++++++++++++++++++++++++++
drivers/of/platform.c | 58 ++-------------------------------------------
drivers/pci/probe.c | 2 ++
include/linux/of_device.h | 2 ++
include/linux/of_iommu.h | 6 +++--
include/linux/of_pci.h | 12 ++++++++++
8 files changed, 127 insertions(+), 60 deletions(-)