Re: swiotlb: remove __weak hooks in favour ofarchitecture-specific functions

From: Ian Campbell
Date: Thu May 21 2009 - 12:19:42 EST


On Thu, 2009-05-21 at 12:15 -0400, Ian Campbell wrote:
> At the end of this series there are no more __weak functions in
> lib/swiotlb.c

Hmm, I was expecting the patches to be numbered in the subject by
default. The correct order is:

swiotlb: make is_buffer_dma_capable architecture-specific
swiotlb: make range_needs_mapping architecture-specific
swiotlb/xen: update xen for swiotlb_arch_force_mapping changes
swiotlb: make swiotlb allocation functions architecture-specific
swiotlb/xen: update xen for changes to swiotlb allocation interface
swiotlb: make swiotlb phys<->bus translations architecture-specific
swiotlb/xen: update xen swiotlb for phys<->bus API changes
xen: remove arch/x86/xen/pci-swiotlb.c

Also xen-devel missed out due to a typo, sorry. See the LKML archives if
you are interested.

Ian.

>
> The series adds several hook functions to the x86 architecture. Would
> they be preferred as a struct x86_swiotlb_ops or as individual hooks?
>
> I was unsure what to do about powerpc in most places since the
> existing support seems to in-progress so it wasn't always clear where
> to put the implementation. If there is a tree somewhere with more
> complete support I'll be happy to provide additional patches.
>
> Boot tested on x86 under xen but not even compiled for ia64 or
> powerpc. If someone can point me to a decent source of cross compilers
> I can sort that out. (http://www.kernel.org/pub/tools/crosstool/ seems
> to be out-of-date and only has ia64 in any case)
>
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Cc: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
> Cc: Becky Bruce <beckyb@xxxxxxxxxxxxxxxxxxx>
> Cc: Olaf Kirch <okir@xxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Greg KH <gregkh@xxxxxxx>
> Cc: xen-devel <xendevel@xxxxxxxxxxxxxxxxxxx>
> Cc: x86 maintainers <x86@xxxxxxxxxx>
> Cc: lkml <linux-kernel@xxxxxxxxxxxxxxx>
>
> ---
> arch/ia64/include/asm/dma-mapping.h | 29 ++++++++++++++
> arch/ia64/kernel/pci-swiotlb.c | 11 +++++
> arch/powerpc/include/asm/dma-mapping.h | 5 ++
> arch/x86/include/asm/agp.h | 4 +-
> arch/x86/include/asm/dma-mapping.h | 34 +++++++++++++++++
> arch/x86/include/asm/xen/iommu.h | 4 ++
> arch/x86/kernel/pci-dma.c | 6 ++-
> arch/x86/kernel/pci-gart_64.c | 4 +-
> arch/x86/kernel/pci-nommu.c | 3 +-
> arch/x86/kernel/pci-swiotlb.c | 32 ++++++++++++++++
> arch/x86/xen/Makefile | 3 +-
> arch/x86/xen/pci-swiotlb.c | 53 --------------------------
> drivers/pci/xen-iommu.c | 20 ++++++++--
> include/linux/dma-mapping.h | 5 --
> include/linux/swiotlb.h | 10 -----
> include/xen/swiotlb.h | 5 --
> lib/swiotlb.c | 64 +++++++-------------------------
> 17 files changed, 156 insertions(+), 136 deletions(-)

--
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/