• Chris Metcalf's avatar
    tile pci: enable IOMMU to support DMA for legacy devices · 41bb38fc
    Chris Metcalf authored
    This change uses the TRIO IOMMU to map the PCI DMA space and physical
    memory at different addresses.  We also now use the dma_mapping_ops
    to provide support for non-PCI DMA, PCIe DMA (64-bit) and legacy PCI
    DMA (32-bit).  We use the kernel's software I/O TLB framework
    (i.e. bounce buffers) for the legacy 32-bit PCI device support since
    there are a limited number of TLB entries in the IOMMU and it is
    non-trivial to handle indexing, searching, matching, etc.  For 32-bit
    devices the performance impact of bounce buffers should not be a concern.
    Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
    41bb38fc
pci-dma.c 15.8 KB