On Wed, Nov 28, 2007 at 02:34:59PM +0000, Ralf Baechle wrote: > > diff --git a/include/asm-mips/dma.h b/include/asm-mips/dma.h > > index 833437d..80caf6b 100644 > > --- a/include/asm-mips/dma.h > > +++ b/include/asm-mips/dma.h > > @@ -88,6 +88,9 @@ > > /* Horrible hack to have a correct DMA window on IP22 */ > > #include <asm/sgi/mc.h> > > #define MAX_DMA_ADDRESS (PAGE_OFFSET + SGIMC_SEG0_BADDR + 0x01000000) > > +#elif defined(CONFIG_SGI_IP28) > > +#include <asm/sgi/mc.h> > > +#define MAX_DMA_ADDRESS (PAGE_OFFSET + SGIMC_SEG1_BADDR + 0x01000000) > > #else > > #define MAX_DMA_ADDRESS (PAGE_OFFSET + 0x01000000) > > #endif > > I've always been wondering if the even the IP22 segment was correct at > all. Afair nobody ever had (E)ISA DMA working on Indigo 2 so that code > is a shot into the dark. Of course for now it's the sanest thing to > assume that IP28 is the same as the "classic" Indigo 2. I've changed that in the updated IP28 patch. I don't see a way to support ISA busmaster devices, because they will generate a physical address between 0 and 0x1000000, which will only hit the 512 KB mirrored RAM. Anything which uses ISA slave DMA is able to address the full 32bit address space. Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessary a good idea. [ RFC1925, 2.3 ]