Subject: Re: [PATCH 3/3] NetXen: 64-bit memory fixes, driver cleanup

From: Stephen Hemminger <[email-masked]>
Date: Mon, 20 Nov 2006 10:45:53 -0800

On Sat, 18 Nov 2006 15:58:09 +0530
Sanjeev Jorapur <[email-masked]> wrote:

> On Fri, 2006-11-17 at 08:40 -0800, Stephen Hemminger wrote:
> > On Fri, 17 Nov 2006 07:36:03 -0800
> > "Linsys Contractor Amit S. Kale" <[email-masked]> wrote:
> > 
> > > NetXen: 1G/10G Ethernet Driver updates
> > > 	- These fixes take care of driver on machines with >4G memory
> > > 	- Driver cleanup
> > > 
> > > Signed-off-by: Amit S. Kale <[email-masked]>
> > > 
> > >  netxen_nic.h          |   41 ++++++----
> > >  netxen_nic_ethtool.c  |   19 ++--
> > >  netxen_nic_hw.c       |   10 +-
> > >  netxen_nic_hw.h       |    4 
> > >  netxen_nic_init.c     |   51 +++++++++++-
> > >  netxen_nic_isr.c      |    3 
> > >  netxen_nic_main.c     |  204 +++++++++++++++++++++++++++++++++++++++++++++++---
> > >  netxen_nic_phan_reg.h |   10 +-
> > >  8 files changed, 293 insertions(+), 49 deletions(-)
> > > 
> > 
> > 
> > If you can't DMA from high memory, then don't set NETIF_F_HIGHDMA, why do
> > you need explicit bounce buffers.  If you can't DMA from unaligned address,
> > the write a small routine to copy the skb to a new one.
> 
> 
> The hardware supports DMA into 35 bit addresses. The intent is to
> enable DMA into addresses upto 32G.
> 

You should then set the same value for pci_set_dma_mask, because then the IOMMU
can help. See both b44 or tg3 drivers, they have to deal with odd size masks.
I don't think you have to do all the bounce buffer work in the driver.

-- 
Stephen Hemminger <[email-masked]>