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 ]
|