diff options
Diffstat (limited to 'drivers/dma/coh901318_lli.c')
| -rw-r--r-- | drivers/dma/coh901318_lli.c | 33 | 
1 files changed, 16 insertions, 17 deletions
diff --git a/drivers/dma/coh901318_lli.c b/drivers/dma/coh901318_lli.c index 9f7e0e6a7ee..702112d547c 100644 --- a/drivers/dma/coh901318_lli.c +++ b/drivers/dma/coh901318_lli.c @@ -7,14 +7,13 @@   * Author: Per Friden <per.friden@stericsson.com>   */ -#include <linux/dma-mapping.h>  #include <linux/spinlock.h> -#include <linux/dmapool.h>  #include <linux/memory.h>  #include <linux/gfp.h> -#include <mach/coh901318.h> +#include <linux/dmapool.h> +#include <linux/dmaengine.h> -#include "coh901318_lli.h" +#include "coh901318.h"  #if (defined(CONFIG_DEBUG_FS) && defined(CONFIG_U300_DEBUG))  #define DEBUGFS_POOL_COUNTER_RESET(pool) (pool->debugfs_pool_counter = 0) @@ -62,7 +61,7 @@ coh901318_lli_alloc(struct coh901318_pool *pool, unsigned int len)  	dma_addr_t phy;  	if (len == 0) -		goto err; +		return NULL;  	spin_lock(&pool->lock); @@ -177,18 +176,18 @@ coh901318_lli_fill_single(struct coh901318_pool *pool,  			  struct coh901318_lli *lli,  			  dma_addr_t buf, unsigned int size,  			  dma_addr_t dev_addr, u32 ctrl_chained, u32 ctrl_eom, -			  enum dma_data_direction dir) +			  enum dma_transfer_direction dir)  {  	int s = size;  	dma_addr_t src;  	dma_addr_t dst; -	if (dir == DMA_TO_DEVICE) { +	if (dir == DMA_MEM_TO_DEV) {  		src = buf;  		dst = dev_addr; -	} else if (dir == DMA_FROM_DEVICE) { +	} else if (dir == DMA_DEV_TO_MEM) {  		src = dev_addr;  		dst = buf; @@ -215,9 +214,9 @@ coh901318_lli_fill_single(struct coh901318_pool *pool,  		lli = coh901318_lli_next(lli); -		if (dir == DMA_TO_DEVICE) +		if (dir == DMA_MEM_TO_DEV)  			src += block_size; -		else if (dir == DMA_FROM_DEVICE) +		else if (dir == DMA_DEV_TO_MEM)  			dst += block_size;  	} @@ -234,7 +233,7 @@ coh901318_lli_fill_sg(struct coh901318_pool *pool,  		      struct scatterlist *sgl, unsigned int nents,  		      dma_addr_t dev_addr, u32 ctrl_chained, u32 ctrl,  		      u32 ctrl_last, -		      enum dma_data_direction dir, u32 ctrl_irq_mask) +		      enum dma_transfer_direction dir, u32 ctrl_irq_mask)  {  	int i;  	struct scatterlist *sg; @@ -249,9 +248,9 @@ coh901318_lli_fill_sg(struct coh901318_pool *pool,  	spin_lock(&pool->lock); -	if (dir == DMA_TO_DEVICE) +	if (dir == DMA_MEM_TO_DEV)  		dst = dev_addr; -	else if (dir == DMA_FROM_DEVICE) +	else if (dir == DMA_DEV_TO_MEM)  		src = dev_addr;  	else  		goto err; @@ -269,12 +268,12 @@ coh901318_lli_fill_sg(struct coh901318_pool *pool,  			ctrl_sg = ctrl ? ctrl : ctrl_last; -		if (dir == DMA_TO_DEVICE) +		if (dir == DMA_MEM_TO_DEV)  			/* increment source address */ -			src = sg_phys(sg); +			src = sg_dma_address(sg);  		else  			/* increment destination address */ -			dst =  sg_phys(sg); +			dst = sg_dma_address(sg);  		bytes_to_transfer = sg_dma_len(sg); @@ -293,7 +292,7 @@ coh901318_lli_fill_sg(struct coh901318_pool *pool,  			lli->src_addr = src;  			lli->dst_addr = dst; -			if (dir == DMA_FROM_DEVICE) +			if (dir == DMA_DEV_TO_MEM)  				dst += elem_size;  			else  				src += elem_size;  | 
