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

From: Kumar Gala
Date: Wed Apr 08 2009 - 16:58:22 EST



On Apr 8, 2009, at 3:38 PM, Christoph Hellwig wrote:

On Wed, Apr 08, 2009 at 09:09:18AM -0500, Kumar Gala wrote:
From: Becky Bruce <beckyb@xxxxxxxxxxxxxxxxxxx>

Some architectures require additional checking to determine
if a device can dma to an address and need to provide their
own address_needs_mapping..

Shouldn't we just move it completely to the arch? I think that ia64 and
x86 currently use the same one is more of an accident.

It seems like the swiotlb code uses __weak for a number of things:

lib/swiotlb.c:void * __weak __init swiotlb_alloc_boot(size_t size, unsigned long nslabs)
lib/swiotlb.c:void * __weak swiotlb_alloc(unsigned order, unsigned long nslabs)
lib/swiotlb.c:dma_addr_t __weak swiotlb_phys_to_bus(struct device *hwdev, phys_addr_t paddr)
lib/swiotlb.c:phys_addr_t __weak swiotlb_bus_to_phys(struct device *hwdev, dma_addr_t baddr)
lib/swiotlb.c:void * __weak swiotlb_bus_to_virt(struct device *hwdev, dma_addr_t address)
lib/swiotlb.c:int __weak swiotlb_arch_address_needs_mapping(struct device *hwdev,
lib/swiotlb.c:int __weak swiotlb_arch_range_needs_mapping(phys_addr_t paddr, size_t size)

instead of #ifndef HAVE_ARCH_<FOO>. Not sure if there is a historical reason for that.

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