Subject: Re: [PATCH 3/20][BNX2]: Add 40-bit DMA workaround for 5708.

From: "Michael Chan" <[email-masked]>
Date: Wed, 02 May 2007 14:27:49 -0700

On Wed, 2007-05-02 at 12:40 -0700, David Miller wrote:
> From: "Michael Chan" <[email-masked]>
> Date: Wed, 2 May 2007 08:23:40 -0700
> 
> > A non-IOMMU system using 64-bit dma_addr_t will always set
> > CONFIG_HIGHMEM, right?
> 
> Nope, IA-64 is at least one example.
> 
> IA-64 has both IOMMU and non-IOMMU configurations, and
> never sets HIGHMEM.
> 

I see.  So IA64 always uses the SWIOTLB when it doesn't have IOMMU then?

I'm a bit confused.  Is it enough to just set the DMA mask to 40-bit and
forget about all this checking?  I thought that wasn't enough.  A tx
packet can be anywhere in 64-bit memory.  When it gets to the driver,
pci_map will not do any translation even if DMA mask is set to 40-bit if
it doesn't have IOMMU.  Is that right?