git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
i386
/
kernel
/
swiotlb.c
diff --git
a/arch/i386/kernel/swiotlb.c
b/arch/i386/kernel/swiotlb.c
index
733799b
..
32f44b3
100644
(file)
--- a/
arch/i386/kernel/swiotlb.c
+++ b/
arch/i386/kernel/swiotlb.c
@@
-26,6
+26,7
@@
#include <asm/dma.h>
#include <asm/uaccess.h>
#include <xen/interface/memory.h>
#include <asm/dma.h>
#include <asm/uaccess.h>
#include <xen/interface/memory.h>
+#include <asm-i386/mach-xen/asm/swiotlb.h>
int swiotlb;
EXPORT_SYMBOL(swiotlb);
int swiotlb;
EXPORT_SYMBOL(swiotlb);
@@
-47,10
+48,7
@@
EXPORT_SYMBOL(swiotlb);
*/
#define IO_TLB_SHIFT 11
*/
#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;
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() &&
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)
/* 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)
{
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);
}
if (in_swiotlb_aperture(dma_address))
unmap_single(hwdev, bus_to_virt(dma_address), size, direction);
}