Re: DMA mapping (was Re: [PATCH] cciss 2.6; replaces DMA maskswith kernel defines)

From: Lee Revell
Date: Fri Jun 10 2005 - 16:18:08 EST


On Fri, 2005-06-10 at 22:45 +0200, Arjan van de Ven wrote:
> On Fri, 2005-06-10 at 16:39 -0400, Lee Revell wrote:
> > On Fri, 2005-06-10 at 12:55 -0400, Jeff Garzik wrote:
> > > mike.miller@xxxxxx wrote:
> > > > This patch removes our homegrown DMA masks and uses the ones defined in
> > > > the kernel instead.
> > > > Thanks to Jens Axboe for the code. Please consider this for inclusion.
> > > >
> > > > Signed-off-by: Mike Miller <mike.miller@xxxxxx>
> > >
> > > You need to add '#include <linux/dma-mapping.h>'
> > >
> >
> > Why doesn't this file define 29, 30, 31 bit DMA masks, required by many
> > devices? I know of at least 2 soundcards that need a 29 bit DMA mask.
>
> your mail unfortunately was not in diff -u form ;)
> I'm pretty sure that such constants are welcome
>

OK, this covers the drivers I know. I didn't make any attempt to check
them all.


According to Robert Love's book there's at least one device than can
only DMA into a 24 bit address space, maybe the PCI NE2K?

Sommary: Add mask defines for some devices that can't DMA into full
32/64 bit address space.

Signed-Off-By: Lee Revell <rlrevell@xxxxxxxxxxx>

--- linux-2.6.12-rc5-k7/include/linux/dma-mapping.h~ 2005-03-02 02:38:25.000000000 -0500
+++ linux-2.6.12-rc5-k7/include/linux/dma-mapping.h 2005-06-10 17:10:12.000000000 -0400
@@ -15,6 +15,8 @@

#define DMA_64BIT_MASK 0xffffffffffffffffULL
#define DMA_32BIT_MASK 0x00000000ffffffffULL
+#define DMA_31BIT_MASK 0x000000007fffffffULL
+#define DMA_29BIT_MASK 0x000000001fffffffULL

#include <asm/dma-mapping.h>



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/