[Top] [All Lists]

Re: [patch] linux: declance multicast filter fixes

To: Harald Koerfgen <>
Subject: Re: [patch] linux: declance multicast filter fixes
From: "Maciej W. Rozycki" <>
Date: Thu, 28 Mar 2002 14:01:51 +0100 (MET)
Cc: Dave Airlie <>, Ralf Baechle <>,,
In-reply-to: <>
Organization: Technical University of Gdansk
On Wed, 27 Mar 2002, Harald Koerfgen wrote:

> The 7990 is basically a 16-bit chip in a 32-bit environment, and, AFAIR, uses 
> two different DMA modes to access host memory. One is a 16-bit word-by-word 
> access for the ring descriptors and the other is 8 16-bit-words-bursts for 
> accessing the ring buffers themselves, where the LANCE only generates one 
> target address per burst.
> The IOASIC is, just as the CPU, only capable of doing 32-bit transfers 
> to/from memory. So 16-bit LANCE accesses are translated into 32-bit IOASIC 
> accesses but a part of the DMA target addresses are generated by the LANCE.

 But the I/O ASIC chip is smart enough to merge data from the 8-bit ROM
device without problems and present four consecutive bytes as 32-bit
quantities to the host CPU.  Why couldn't it do the same for the LANCE?
Host memory addresses are generated on behalf of the LANCE by the I/O ASIC

 Of course not all designers have a clue, sigh...  A brief study of
available documentation suggests no merging mode was implemented for the
LANCE and bit 0 of addresses generated is simply hardwired to 0. :-(

+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+        e-mail:, PGP key available        +

<Prev in Thread] Current Thread [Next in Thread>