Re: [PATCH 4/7] swiotlb: Allow arch override ofaddress_needs_mapping

From: FUJITA Tomonori
Date: Wed Apr 08 2009 - 19:02:20 EST


On Wed, 08 Apr 2009 15:36:58 -0700
Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> FUJITA Tomonori wrote:
> >> Some architectures need non-trivial bus<->phys conversion routines, etc,
> >>
> >
> > Only Xen needs such conversion for swiotlb.
> >
>
> Becky's patches of last week also added __weak annotations to
> swiotlb_bus_to_virt, virt_to_bus and bus_to_phys; added the hwdev
> parameter to swiotlb_bus_to_phys; and added a weak
> swiotlb_arch_address_needs_mapping. I assume that was needed because
> powerpc needs non-trivial implementations for those functions.

Hmm, what she added are wrappers of virt_to_bus and bus_to_virt. We
can remove these and directly use virt_to_bus and bus_to_virt.

About __weak address_needs_mapping function, as I said, removing it
and using dma_map_ops is a proper solution.


> >> so either we can require it that all architectures wishing to use
> >> swiotlb define these functions, or have weak default functions that can
> >> be overridden by architectures where necessary.
> >>
> >
> > Can you give an example? I don't think IA64, X86_64 or POWER (which
> > will use swiotlb) need any __weak functions. If you say other archs
> > could use swiotlb, please tell me how they need these __weak.
> >
>
> As I said, Becky's patches added hooks in many of the places we added
> them for Xen. I assume that's because powerpc needs them; I have not
> seen the arch/powerpc side of those changes.
>
> J
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/