1 /* 2 * Contains routines needed to support swiotlb for UniCore32. 3 * 4 * Copyright (C) 2010 Guan Xuetao 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your 9 * option) any later version. 10 */ 11 #include <linux/pci.h> 12 #include <linux/cache.h> 13 #include <linux/module.h> 14 #include <linux/dma-mapping.h> 15 #include <linux/swiotlb.h> 16 #include <linux/bootmem.h> 17 18 #include <asm/dma.h> 19 20 struct dma_map_ops swiotlb_dma_map_ops = { 21 .alloc_coherent = swiotlb_alloc_coherent, 22 .free_coherent = swiotlb_free_coherent, 23 .map_sg = swiotlb_map_sg_attrs, 24 .unmap_sg = swiotlb_unmap_sg_attrs, 25 .dma_supported = swiotlb_dma_supported, 26 .map_page = swiotlb_map_page, 27 .unmap_page = swiotlb_unmap_page, 28 .sync_single_for_cpu = swiotlb_sync_single_for_cpu, 29 .sync_single_for_device = swiotlb_sync_single_for_device, 30 .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, 31 .sync_sg_for_device = swiotlb_sync_sg_for_device, 32 .mapping_error = swiotlb_dma_mapping_error, 33 }; 34 EXPORT_SYMBOL(swiotlb_dma_map_ops); 35