mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 23:25:07 +00:00
ARM: S3C24XX: dma-s3c2443 - do not write into arbitary bits
The values read from the channel map always also contain the DMA_CH_VALID (= 1<<31) setting, which should not get written into the register, even if this bit is unused. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
4c4e9759a6
commit
e8de5a1fa9
1 changed files with 2 additions and 1 deletions
|
@ -128,7 +128,8 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = {
|
||||||
static void s3c2443_dma_select(struct s3c2410_dma_chan *chan,
|
static void s3c2443_dma_select(struct s3c2410_dma_chan *chan,
|
||||||
struct s3c24xx_dma_map *map)
|
struct s3c24xx_dma_map *map)
|
||||||
{
|
{
|
||||||
writel(map->channels[0] | S3C2443_DMAREQSEL_HW,
|
unsigned long chsel = map->channels[0] & (~DMA_CH_VALID);
|
||||||
|
writel(chsel | S3C2443_DMAREQSEL_HW,
|
||||||
chan->regs + S3C2443_DMA_DMAREQSEL);
|
chan->regs + S3C2443_DMA_DMAREQSEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue