mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge branches 'pci/iommu' and 'pci/resource' into next
* pci/iommu: of: Calculate device DMA masks based on DT dma-range size arm: dma-mapping: limit IOMMU mapping size PCI: Update DMA configuration from DT of/pci: Add of_pci_dma_configure() to update DMA configuration PCI: Add helper functions pci_get[put]_host_bridge_device() of: Fix size when dma-range is not used of: Move of_dma_configure() to device.c to help re-use of: iommu: Add ptr to OF node arg to of_iommu_configure() * pci/resource: PCI: Fail pci_ioremap_bar() on unassigned resources PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure PCI: Mark invalid BARs as unassigned PNP: Don't check for overlaps with unassigned PCI BARs
This commit is contained in:
commit
85e8a0af37
14 changed files with 164 additions and 67 deletions
|
|
@ -133,19 +133,25 @@ struct iommu_ops *of_iommu_get_ops(struct device_node *np)
|
|||
return ops;
|
||||
}
|
||||
|
||||
struct iommu_ops *of_iommu_configure(struct device *dev)
|
||||
struct iommu_ops *of_iommu_configure(struct device *dev,
|
||||
struct device_node *master_np)
|
||||
{
|
||||
struct of_phandle_args iommu_spec;
|
||||
struct device_node *np;
|
||||
struct iommu_ops *ops = NULL;
|
||||
int idx = 0;
|
||||
|
||||
if (dev_is_pci(dev)) {
|
||||
dev_err(dev, "IOMMU is currently not supported for PCI\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't currently walk up the tree looking for a parent IOMMU.
|
||||
* See the `Notes:' section of
|
||||
* Documentation/devicetree/bindings/iommu/iommu.txt
|
||||
*/
|
||||
while (!of_parse_phandle_with_args(dev->of_node, "iommus",
|
||||
while (!of_parse_phandle_with_args(master_np, "iommus",
|
||||
"#iommu-cells", idx,
|
||||
&iommu_spec)) {
|
||||
np = iommu_spec.np;
|
||||
|
|
|
|||
Loading…
Reference in a new issue