diff options
Diffstat (limited to 'arch/microblaze/kernel/dma.c')
| -rw-r--r-- | arch/microblaze/kernel/dma.c | 30 | 
1 files changed, 3 insertions, 27 deletions
diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c index da68d00fd08..4633c36c1b3 100644 --- a/arch/microblaze/kernel/dma.c +++ b/arch/microblaze/kernel/dma.c @@ -13,23 +13,6 @@  #include <linux/export.h>  #include <linux/bug.h> -/* - * Generic direct DMA implementation - * - * This implementation supports a per-device offset that can be applied if - * the address at which memory is visible to devices is not 0. Platform code - * can set archdata.dma_data to an unsigned long holding the offset. By - * default the offset is PCI_DRAM_OFFSET. - */ - -static unsigned long get_dma_direct_offset(struct device *dev) -{ -	if (likely(dev)) -		return (unsigned long)dev->archdata.dma_data; - -	return PCI_DRAM_OFFSET; /* FIXME Not sure if is correct */ -} -  #define NOT_COHERENT_CACHE  static void *dma_direct_alloc_coherent(struct device *dev, size_t size, @@ -51,7 +34,7 @@ static void *dma_direct_alloc_coherent(struct device *dev, size_t size,  		return NULL;  	ret = page_address(page);  	memset(ret, 0, size); -	*dma_handle = virt_to_phys(ret) + get_dma_direct_offset(dev); +	*dma_handle = virt_to_phys(ret);  	return ret;  #endif @@ -77,7 +60,7 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl,  	/* FIXME this part of code is untested */  	for_each_sg(sgl, sg, nents, i) { -		sg->dma_address = sg_phys(sg) + get_dma_direct_offset(dev); +		sg->dma_address = sg_phys(sg);  		__dma_sync(page_to_phys(sg_page(sg)) + sg->offset,  							sg->length, direction);  	} @@ -85,12 +68,6 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl,  	return nents;  } -static void dma_direct_unmap_sg(struct device *dev, struct scatterlist *sg, -				int nents, enum dma_data_direction direction, -				struct dma_attrs *attrs) -{ -} -  static int dma_direct_dma_supported(struct device *dev, u64 mask)  {  	return 1; @@ -104,7 +81,7 @@ static inline dma_addr_t dma_direct_map_page(struct device *dev,  					     struct dma_attrs *attrs)  {  	__dma_sync(page_to_phys(page) + offset, size, direction); -	return page_to_phys(page) + offset + get_dma_direct_offset(dev); +	return page_to_phys(page) + offset;  }  static inline void dma_direct_unmap_page(struct device *dev, @@ -181,7 +158,6 @@ struct dma_map_ops dma_direct_ops = {  	.alloc		= dma_direct_alloc_coherent,  	.free		= dma_direct_free_coherent,  	.map_sg		= dma_direct_map_sg, -	.unmap_sg	= dma_direct_unmap_sg,  	.dma_supported	= dma_direct_dma_supported,  	.map_page	= dma_direct_map_page,  	.unmap_page	= dma_direct_unmap_page,  | 
