netdev
[Top] [All Lists]

Re: Making the NS83820 usable on IA64

To: Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: Re: Making the NS83820 usable on IA64
From: Peter Chubb <peter@xxxxxxxxxxxxxxxxxx>
Date: Wed, 17 Mar 2004 15:33:03 +1100
Cc: Peter Chubb <peterc@xxxxxxxxxxxxxxxxxx>, linux-ia64@xxxxxxxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Comments: Hyperbole mail buttons accepted, v04.18.
In-reply-to: <4057D1B8.9090508@xxxxxxxxx>
References: <16471.52400.222262.824746@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <4057D1B8.9090508@xxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
>>>>> "Jeff" == Jeff Garzik <jgarzik@xxxxxxxxx> writes:

Jeff> Peter Chubb wrote:
>> With the current NS83820 driver and IP stack implementation, the
>> IA64 kernel spends 99.9% of its time in the unaligned access trap
>> handler when the network starts getting busy.  When I raised this
>> issue before, the idea of realigning the skbuf data in the driver
>> was scouted; therefore I submit this patch for your approval.  It
>> makes the driver usable, and doesn't seem to affect anything else.

Jeff> More likely, you need to play around with ns83820.c's
Jeff> skb_reserve() code, in rx_refill():

Unfortunately the dp83820 won't dma to anything other than a 64-bit
aligned packet.  See table 3-2:

  offset  tag           description
   0004h  bufptr        32- or 64- bit pointer to the first fragment
                        or buffer.  In transmit descriptors the buffer
                        can begin on any byte boundary.  In receive
                        descriptors, the buffer must be aligned on
                         a 64-bit boundary.

--
Dr Peter Chubb  http://www.gelato.unsw.edu.au  peterc AT gelato.unsw.edu.au
The technical we do immediately,  the political takes *forever*

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