Blackfin arch: dma code: cannot simply OR the ndsize
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>
This commit is contained in:
parent
b649839192
commit
d41e800999
@ -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)
|
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;
|
dma_ch[channel].regs->next_desc_ptr = sg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user