diff options
Diffstat (limited to 'arch/arm/kernel/dma.c')
-rw-r--r-- | arch/arm/kernel/dma.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/arm/kernel/dma.c b/arch/arm/kernel/dma.c index 3aedada71046..913fd947528c 100644 --- a/arch/arm/kernel/dma.c +++ b/arch/arm/kernel/dma.c | |||
@@ -123,7 +123,6 @@ void set_dma_sg (dmach_t channel, struct scatterlist *sg, int nr_sg) | |||
123 | 123 | ||
124 | dma->sg = sg; | 124 | dma->sg = sg; |
125 | dma->sgcount = nr_sg; | 125 | dma->sgcount = nr_sg; |
126 | dma->using_sg = 1; | ||
127 | dma->invalid = 1; | 126 | dma->invalid = 1; |
128 | } | 127 | } |
129 | 128 | ||
@@ -139,10 +138,8 @@ void __set_dma_addr (dmach_t channel, void *addr) | |||
139 | printk(KERN_ERR "dma%d: altering DMA address while " | 138 | printk(KERN_ERR "dma%d: altering DMA address while " |
140 | "DMA active\n", channel); | 139 | "DMA active\n", channel); |
141 | 140 | ||
142 | dma->sg = &dma->buf; | 141 | dma->sg = NULL; |
143 | dma->sgcount = 1; | 142 | dma->addr = addr; |
144 | dma->buf.__address = addr; | ||
145 | dma->using_sg = 0; | ||
146 | dma->invalid = 1; | 143 | dma->invalid = 1; |
147 | } | 144 | } |
148 | 145 | ||
@@ -158,10 +155,8 @@ void set_dma_count (dmach_t channel, unsigned long count) | |||
158 | printk(KERN_ERR "dma%d: altering DMA count while " | 155 | printk(KERN_ERR "dma%d: altering DMA count while " |
159 | "DMA active\n", channel); | 156 | "DMA active\n", channel); |
160 | 157 | ||
161 | dma->sg = &dma->buf; | 158 | dma->sg = NULL; |
162 | dma->sgcount = 1; | 159 | dma->count = count; |
163 | dma->buf.length = count; | ||
164 | dma->using_sg = 0; | ||
165 | dma->invalid = 1; | 160 | dma->invalid = 1; |
166 | } | 161 | } |
167 | 162 | ||