kernel-hacking-2024-linux-s.../arch/tile
Chris Metcalf 41bb38fc53 tile pci: enable IOMMU to support DMA for legacy devices
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: Chris Metcalf <cmetcalf@tilera.com>
2012-07-18 16:40:17 -04:00
..
configs arch/tile/configs: convert to minimal configs via "make savedefconfig" 2012-03-14 14:33:16 -04:00
gxio arch/tile: provide kernel support for the tilegx TRIO shim 2012-07-11 16:04:58 -04:00
include tile pci: enable IOMMU to support DMA for legacy devices 2012-07-18 16:40:17 -04:00
kernel tile pci: enable IOMMU to support DMA for legacy devices 2012-07-18 16:40:17 -04:00
kvm virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
lib arch/tile: break out the "csum a long" function to <asm/checksum.h> 2012-07-11 16:04:57 -04:00
mm arch/tile: enable ZONE_DMA for tilegx 2012-07-18 16:40:11 -04:00
Kbuild
Kconfig tile pci: enable IOMMU to support DMA for legacy devices 2012-07-18 16:40:17 -04:00
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Makefile arch/tile: introduce GXIO IORPC framework for tilegx 2012-07-11 16:04:52 -04:00