[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070502.154802.26506902.davem@davemloft.net>
Date: Wed, 02 May 2007 15:48:02 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mchan@...adcom.com
Cc: jeff@...zik.org, netdev@...r.kernel.org
Subject: Re: [PATCH 3/20][BNX2]: Add 40-bit DMA workaround for 5708.
From: "Michael Chan" <mchan@...adcom.com>
Date: Wed, 02 May 2007 16:28:22 -0700
> Is it correct to assume that all 64-bit systems using 64-bit
> dma_addr_t will either have real IOMMUs or will use SWIOTLB? If
> this is true, we can just set the DMA mask to what is supported by
> the hardware and let pci_map_xxx() handle all necessary translations
> or bounce buffering.
This should work.
Especailly since every platform has to support 32-bit DMA masks, the
worst possible case is that the 40-bit DMA mask set fails, and you
have to fall back to 32-bit.
But since every driver has that fallback logic, it should be totally
transparent.
We might want to formalize that at some point to save driver code.
Ie. we'd have an interface that takes a prioritized array of DMA
masks the driver wants to use, and you get back the index that was
selected or an error if none of them could be accomodated.
It's just a tangental future cleanup idea, since we're discussing
this.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists