lkml.org 
[lkml]   [2009]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2 2/3] powerpc: Add support for swiotlb on 32-bit
Becky Bruce wrote:
> I can work with that, but it's going to be a bit inefficient, as I
> actually need the dma_addr_t, not the phys_addr_t, so I'll have to
> convert. In every case, this is a conversion I've already done and
> that I need in the calling code as well. Can we pass in both the
> phys_addr_t and the dma_addr_t?

The Xen implementation would needs to do the phys to bus conversion page
by page anyway, so it wouldn't help much. But it also wouldn't hurt.

How expensive is the phys-to-bus conversion on power? Is it worth
making the interface more complex for? Would passing phys+bus mean that
we wouldn't also need to pass dev?

> 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.
> It's not actually clear to me that we need that check, though. Can
> someone explain what case that was designed to catch?

It called them together a little earlier in the function, and the phys
address is still available.

I guess the test is checking for a bad implementation of map_single().
I found a single instance of someone reporting the message (in 2.6.11,
when swiotlb was ia64-specific: http://lkml.org/lkml/2008/3/3/249).
panic() is an odd way to handle an error (even an one which is an
implementation bug), but I guess it's better than scribbling on the
wrong memory.

J


\
 
 \ /
  Last update: 2009-05-21 22:21    [from the cache]
©2003-2011 Jasper Spaans