Hello Ben, On Thursday, November 13, 2008 you wrote:
> On Thu, 2008-11-13 at 11:49 +0300, Yuri Tikhonov wrote: >> Hello, >> >> This patch extends DMA ranges for PCI(X) to 4GB, so that it could >> work on Katmais with 4GB RAM installed. > And where do you put MMIO ? > The 32 bit part of the PCI space need to be split between MMIO and DMA. My understanding was that the dma-ranges property is responsible for setting up the inbound ranges of RAM's physical addresses, where PCI could DMA to/from. As regarding the outbound property, this patch doesn't change this, and there we have the PCI space split (2 GB of memory, and 64K of I/O spaces mapped from the 64-bit physical addresses into 32-bit PCI address space). Am I missing something ? With the default 2GB dma-ranges we just get the following on Katmai with 4GB of SDRAM installed: ... PCIE0: Checking link... PCIE0: Device detected, waiting for link... PCIE0: link is up ! PCI host bridge /plb/[EMAIL PROTECTED] (primary) ranges: MEM 0x0000000e00000000..0x0000000e7fffffff -> 0x0000000080000000 IO 0x0000000f80000000..0x0000000f8000ffff -> 0x0000000000000000 /plb/[EMAIL PROTECTED]: dma-ranges too small (size=80000000 total_memory=100000000) PCIE1: Checking link... PCIE1: Device detected, waiting for link... PCIE1: link is up ! PCI host bridge /plb/[EMAIL PROTECTED] (primary) ranges: MEM 0x0000000e80000000..0x0000000effffffff -> 0x0000000080000000 IO 0x0000000f80010000..0x0000000f8001ffff -> 0x0000000000000000 /plb/[EMAIL PROTECTED]: dma-ranges too small (size=80000000 total_memory=100000000) PCIE2: Checking link... PCIE2: Device detected, waiting for link... PCIE2: link is up ! PCI host bridge /plb/[EMAIL PROTECTED] (primary) ranges: MEM 0x0000000f00000000..0x0000000f7fffffff -> 0x0000000080000000 IO 0x0000000f80020000..0x0000000f8002ffff -> 0x0000000000000000 /plb/[EMAIL PROTECTED]: dma-ranges too small (size=80000000 total_memory=100000000) PCI host bridge /plb/[EMAIL PROTECTED] (primary) ranges: MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000 /plb/[EMAIL PROTECTED]: dma-ranges too small (size=80000000 total_memory=100000000) ... > Ideally, for 64-bit capable DMA, device, we should create a second DMA > range mapping the whole memory at something like 1T or so on PCI, and > keep a smaller (ie. 2G) DMA range for 32-bit only devices backed with > swiotlb. > Cheers, > Ben. Regards, Yuri -- Yuri Tikhonov, Senior Software Engineer Emcraft Systems, www.emcraft.com _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev