projects
/
platform
/
kernel
/
linux-exynos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b649839
)
Blackfin arch: dma code: cannot simply OR the ndsize
author
Mike Frysinger
<vapier.adi@gmail.com>
Wed, 7 Jan 2009 15:14:38 +0000
(23:14 +0800)
committer
Bryan Wu
<cooloney@kernel.org>
Wed, 7 Jan 2009 15:14:38 +0000
(23:14 +0800)
cannot simply OR the ndsize ... need to clear out the old value first
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
arch/blackfin/include/asm/dma.h
patch
|
blob
|
history
diff --git
a/arch/blackfin/include/asm/dma.h
b/arch/blackfin/include/asm/dma.h
index
264feb4
..
f58ca64
100644
(file)
--- a/
arch/blackfin/include/asm/dma.h
+++ b/
arch/blackfin/include/asm/dma.h
@@
-205,7
+205,9
@@
static inline unsigned long get_dma_curr_addr(unsigned int channel)
static inline void set_dma_sg(unsigned int channel, struct dmasg *sg, int ndsize)
{
- dma_ch[channel].regs->cfg |= ((ndsize & 0x0F) << 8);
+ dma_ch[channel].regs->cfg =
+ (dma_ch[channel].regs->cfg & ~(0xf << 8)) |
+ ((ndsize & 0xf) << 8);
dma_ch[channel].regs->next_desc_ptr = sg;
}