Messages in this thread | | | From | Kumar Gala <> | Subject | Re: [PATCH 4/7] swiotlb: Allow arch override of address_needs_mapping | Date | Wed, 8 Apr 2009 15:56:32 -0500 |
| |
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@kernel.crashing.org> >> >> 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
| |