X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2Fkernel%2Fswiotlb.c;h=32f44b3d3a2ace737c407aa65779b9a863f4896d;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=733799b70a8419b735dff632f9b18ed2ca179fb2;hpb=1db395853d4f30d6120458bd279ede1f882a8525;p=linux-2.6.git diff --git a/arch/i386/kernel/swiotlb.c b/arch/i386/kernel/swiotlb.c index 733799b70..32f44b3d3 100644 --- a/arch/i386/kernel/swiotlb.c +++ b/arch/i386/kernel/swiotlb.c @@ -26,6 +26,7 @@ #include #include #include +#include int swiotlb; EXPORT_SYMBOL(swiotlb); @@ -47,10 +48,7 @@ EXPORT_SYMBOL(swiotlb); */ #define IO_TLB_SHIFT 11 -/* Width of DMA addresses in the IO TLB. 31 bits is an aacraid limitation. */ -#define IO_TLB_DMA_BITS 31 - -static int swiotlb_force; +int swiotlb_force; static char *iotlb_virt_start; static unsigned long iotlb_nslabs; @@ -199,7 +197,7 @@ swiotlb_init(void) swiotlb = 1; } else if ((swiotlb_force != -1) && is_running_on_xen() && - (xen_start_info->flags & SIF_INITDOMAIN)) { + is_initial_xendomain()) { /* Domain 0 always has a swiotlb. */ ram_end = HYPERVISOR_memory_op(XENMEM_maximum_ram_page, NULL); if (ram_end <= 0x7ffff) @@ -634,7 +632,7 @@ void swiotlb_unmap_page(struct device *hwdev, dma_addr_t dma_address, size_t size, enum dma_data_direction direction) { - BUG_ON(direction == DMA_NONE); + BUG_ON(!valid_dma_direction(direction)); if (in_swiotlb_aperture(dma_address)) unmap_single(hwdev, bus_to_virt(dma_address), size, direction); }