[IA64] avoid unnecessarily SWIOTLB bounce buffering x86 improved range_straddles_page_boundary() by the c/s 501:5486a234923d. The same discussion applies to ia64. This patch is ia64 counter part of it. [ported from mainline version] Signed-off-by: Alex Williamson linux-2.6.18-xen changeset: ec6e3e18ea314e9520ee6bba898e30228bf3bda4 linux-2.6.18-xen date: Wed Apr 02 10:02:57 2008 -0600 diff -r cdca34378e8e linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c --- a/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c Mon Mar 31 18:09:19 2008 +0100 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/pci-dma-xen.c Wed Apr 02 21:00:10 2008 -0600 @@ -74,6 +74,11 @@ do { \ BUG(); \ } \ } while (0) + +#ifdef __ia64__ +#undef pfn_to_mfn +#define pfn_to_mfn pfn_to_mfn_for_dma +#endif static int check_pages_physically_contiguous(unsigned long pfn, unsigned int offset, diff -r cdca34378e8e linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h --- a/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h Mon Mar 31 18:09:19 2008 +0100 +++ b/linux-2.6-xen-sparse/include/asm-ia64/dma-mapping.h Wed Apr 02 21:00:10 2008 -0600 @@ -124,13 +124,7 @@ address_needs_mapping(struct device *hwd return (addr & ~mask) != 0; } -static inline int -range_straddles_page_boundary(void *p, size_t size) -{ - extern unsigned long *contiguous_bitmap; - return (((((unsigned long)p & ~PAGE_MASK) + size) > PAGE_SIZE) && - !test_bit(__pa(p) >> PAGE_SHIFT, contiguous_bitmap)); -} +extern int range_straddles_page_boundary(paddr_t p, size_t size); #endif #endif /* _ASM_IA64_DMA_MAPPING_H */