]> Pileus Git - ~andy/linux/commitdiff
tile PCI RC: add comment about "PCI hole" problem
authorChris Metcalf <cmetcalf@tilera.com>
Mon, 12 Aug 2013 19:25:22 +0000 (15:25 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Tue, 3 Sep 2013 18:52:20 +0000 (14:52 -0400)
Explain the rationale of not overlapping the 64-bit DMA window
with the PA range.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/include/asm/pci.h

index c99ad44233f478f4fc0b705c3e88fe7062e6bb01..dfedd7ac7298dc93424a7862ef20b2c8ce73da1f 100644 (file)
@@ -122,6 +122,11 @@ static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) {}
  * the CPA plus TILE_PCI_MEM_MAP_BASE_OFFSET. To support 32-bit
  * devices, we create a separate map region that handles the low
  * 4GB.
+ *
+ * This design lets us avoid the "PCI hole" problem where the host bridge
+ * won't pass DMA traffic with target addresses that happen to fall within the
+ * BAR space. This enables us to use all the physical memory for DMA, instead
+ * of wasting the same amount of physical memory as the BAR window size.
  */
 #define        TILE_PCI_MEM_MAP_BASE_OFFSET    (1ULL << CHIP_PA_WIDTH())