[RFC] POWERPC: Merge 32 and 64-bit dma code

Becky Bruce becky.bruce at freescale.com
Wed Jun 4 10:18:24 EST 2008


On May 28, 2008, at 8:53 PM, Mark Nelson wrote:

> On Fri, 23 May 2008 06:06:50 pm Mark Nelson wrote:
>> On Thu, 1 May 2008 09:36:43 am Becky Bruce wrote:
>>>
>>> I essentially adopt the 64-bit dma code, with some changes to  
>>> support
>>> 32-bit systems, including HIGHMEM.  dma functions on 32-bit are now
>>> invoked via accessor functions which call the correct op for a  
>>> device based
>>> on archdata dma_ops.  Currently, this defaults to dma_direct_ops,  
>>> but this
>>> structure will make it easier to do iommu/swiotlb on 32-bit going
>>> forward.
>>>
>>> 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.
>>>
>>> This code conflicts with the dma_attrs code that Mark Nelson just  
>>> pushed.
>>> At this point, I'm just looking for some review, and suggestions  
>>> on how
>>> this code might be improved.  I'll uprev it to work with Mark's  
>>> code once
>>> that goes in.
>>
>> The last patch of my series may be in question so it could end up  
>> that this
>> patch makes it in first. It shouldn't be too hard to respin my  
>> patches after
>> your merge so no worries there though.

Either way, we'll deal with it.  Thanks!

>>
>>>
>>> There will be other patches that precede this one - I plan to  
>>> duplicate
>>> dma_mapping.h into include/asm-ppc to avoid breakage there.   
>>> There will
>>> also be a patch to rename dma_64.c to dma.c, and a series of  
>>> patches to
>>> modify drivers that pass NULL dev pointers.
>>>
>>> Dma experts, please review this when you can - I was a dma newbie
>>> until very recently, and the odds that I'm missing some subtlety
>>> in this merge are fairly high.
>>>
>>
>> I'm far from a DMA expert but this all looks sane to me - I can't  
>> really
>> comment on the 32bit side of things but I don't think it's going  
>> to break
>> anything on 64bit (it compiles fine on cell and pseries).
>>
>> I'll try and test boot it on Monday.
>
> Not quite Monday, but it boots fine on the QS22 and QS21 Cell blades
> and on a Power6 box.


Thanks for the testing - that's great news.  Apologies for my slow  
response - I was blissfully on vacation for a couple of weeks.

>
> Mark.
>
>>
>> We should get BenH to look at it but he's travelling at the moment...

Yep, I'm going to have to start stalking him soon.  We've talked  
about a few issues, but he hasn't done a full review yet, as he is  
much in demand.

Thanks!
-Becky




More information about the Linuxppc-dev mailing list