Thread (33 messages) flat view 33 messages, 8 authors, 2016-06-15

Re: [PATCH 4/4] POWERPC: Merge 32 and 64-bit dma code

From: Christoph Hellwig <hch@lst.de>
Date: 2008-09-09 20:45:46

On Tue, Sep 09, 2008 at 09:39:20AM -0500, Becky Bruce wrote:
.... because you asked me to have just map/unmap_page in your review  
of an earlier rev of this patch series in May? :)  I don't actually  
expect you to remember this, because it was a long time ago, but  
here's the relevant chunk of the conversation:

On May 23, 2008, at 4:51 AM, Christoph Hellwig wrote:
quoted
On Wed, Apr 30, 2008 at 06:36:43PM -0500, Becky Bruce wrote:
quoted
In addition, the dma_map/unmap_page functions are added to dma_ops on
HIGHMEM-enabled configs because we can't just fall back on map/ 
unmap_single
when HIGHMEM is enabled.  Adding these to dma_ops makes it cleaner to
substitute different functionality once we have iommu/swiotlb  
support.
Maybe I'm missing something but we should only have the page ones.
virt_to_page is cheap and we'll most likely need the phys address  
which
we get from the page anyway.

So I did that for the dma_direct_* ops, but discovered that doing it  
for the iommu case (which I can't test and don't fully understand)  
would be a bit more complicated.  The above code (in conjunction with  
the same code for map_page) allows you to have map/unmap_page, map/ 
unmap_single, or both.  I'm happy to change it again, though.  We  
could just do the above in map_page/unmap_page, calling map/ 
unmap_single if there is no map/unmap_page, and provide both a  
dma_direct_map/unmap_single and a dma_direct_map/unmap_page for the  
dma_direct* ops.
Yeah, the statement this time should be why do you keep _single :)
It don't really mind which one we keep, but having both and both
optional seems rather odd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help