Re: [PATCH V2 2/3] powerpc: Add support for swiotlb on 32-bit
From: Ian Campbell <hidden>
Date: 2009-05-21 19:01:46
Also in:
lkml
From: Ian Campbell <hidden>
Date: 2009-05-21 19:01:46
Also in:
lkml
On Thu, 2009-05-21 at 14:27 -0400, Becky Bruce wrote:
We have both in every case but one, which is in swiotlb_map_page where we call address_needs_mapping() without calling range_needs_mapping.
The reason it calls address_needs_mapping without range_needs_mapping is that in the swiotlb_force=1 case it would trigger every time. If address_needs_mapping and range_needs_mapping are merged as proposed and they do not subsume the swiotlb_force check (and I don't think they would) then I think this will work fine.
It's not actually clear to me that we need that check, though. Can someone explain what case that was designed to catch?
If map_single fails and returns NULL then we try to use io_tlb_overflow_buffer, if that is somehow not DMA-able (for the particular device) then the check will trigger. I would have thought we could arrange that the overflow buffer is always OK and really if map_page is failing we must be close the edge already. Ian.