diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-04-19 19:19:56 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 19:19:56 +0200 |
commit | 2be621498d461b63ca6124f86e3b9582e1a8e722 (patch) | |
tree | 5b2e3af9ca287c7742f59f909cbce0e7bca3f333 /arch/x86/kernel/pci-swiotlb_64.c | |
parent | 4d92fbf231fe23ec07d18820a141c573a7f5017a (diff) | |
download | blackbird-op-linux-2be621498d461b63ca6124f86e3b9582e1a8e722.tar.gz blackbird-op-linux-2be621498d461b63ca6124f86e3b9582e1a8e722.zip |
x86: dma-ops on highmem fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/pci-swiotlb_64.c')
-rw-r--r-- | arch/x86/kernel/pci-swiotlb_64.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kernel/pci-swiotlb_64.c b/arch/x86/kernel/pci-swiotlb_64.c index 82a0a674a003..490da7f4b8d0 100644 --- a/arch/x86/kernel/pci-swiotlb_64.c +++ b/arch/x86/kernel/pci-swiotlb_64.c @@ -11,11 +11,18 @@ int swiotlb __read_mostly; +static dma_addr_t +swiotlb_map_single_phys(struct device *hwdev, phys_addr_t paddr, size_t size, + int direction) +{ + return swiotlb_map_single(hwdev, phys_to_virt(paddr), size, direction); +} + const struct dma_mapping_ops swiotlb_dma_ops = { .mapping_error = swiotlb_dma_mapping_error, .alloc_coherent = swiotlb_alloc_coherent, .free_coherent = swiotlb_free_coherent, - .map_single = swiotlb_map_single, + .map_single = swiotlb_map_single_phys, .unmap_single = swiotlb_unmap_single, .sync_single_for_cpu = swiotlb_sync_single_for_cpu, .sync_single_for_device = swiotlb_sync_single_for_device, |