Re: Busmaster DMA broken in 2.4.18 on Alpha

Ivan Kokshaysky (ink@jurassic.park.msu.ru)
Mon, 11 Mar 2002 17:10:58 +0300


On Mon, Mar 11, 2002 at 12:45:11PM +0100, Kurt Garloff wrote:
> Unfortunately, your ISA card does not seem to be able to address 32 bits.
> (I guess no non-on-chip ISA adapter will.)

No, the ability to address 32 bits is property of an ISA bridge, not
of any particular ISA card or device. Most alphas do have 32-bit ISA DMA.

For that particular driver the following hack should work.
However, ideally we should have ISA_DMA_MASK in asm/dma.h defined
for all architectures...

Ivan.

--- linux/drivers/net/tokenring/tms380tr.h.orig Fri May 25 20:58:07 2001
+++ linux/drivers/net/tokenring/tms380tr.h Mon Mar 11 15:52:06 2002
@@ -462,7 +462,12 @@ typedef struct {
*/

/* XXX is there some better way to do this? */
+#if defined(__alpha__)
+#define ISA_MAX_ADDRESS (MAX_DMA_ADDRESS - IDENT_ADDR - 1 < 0xffffffff ? \
+ MAX_DMA_ADDRESS - IDENT_ADDR - 1 : 0xffffffff)
+#else
#define ISA_MAX_ADDRESS 0x00ffffff
+#endif
#define PCI_MAX_ADDRESS 0xffffffff

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