diff options
author | Heiko Stuebner <heiko@sntech.de> | 2013-05-20 12:01:37 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-05-20 12:01:37 -0400 |
commit | e8de5a1fa9101a6aa22b2cbdde058979664b2474 (patch) | |
tree | eda2911302aefb6db1690328c5be2b09c301770f /arch | |
parent | 4c4e9759a6fa63c61f0d269150741feccdd33f06 (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-s3c24xx/dma-s3c2443.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-s3c24xx/dma-s3c2443.c b/arch/arm/mach-s3c24xx/dma-s3c2443.c index 5fe3539dc2b5..95b9f759fe97 100644 --- a/arch/arm/mach-s3c24xx/dma-s3c2443.c +++ b/arch/arm/mach-s3c24xx/dma-s3c2443.c | |||
@@ -128,7 +128,8 @@ static struct s3c24xx_dma_map __initdata s3c2443_dma_mappings[] = { | |||
128 | static void s3c2443_dma_select(struct s3c2410_dma_chan *chan, | 128 | static void s3c2443_dma_select(struct s3c2410_dma_chan *chan, |
129 | struct s3c24xx_dma_map *map) | 129 | struct s3c24xx_dma_map *map) |
130 | { | 130 | { |
131 | writel(map->channels[0] | S3C2443_DMAREQSEL_HW, | 131 | unsigned long chsel = map->channels[0] & (~DMA_CH_VALID); |
132 | writel(chsel | S3C2443_DMAREQSEL_HW, | ||
132 | chan->regs + S3C2443_DMA_DMAREQSEL); | 133 | chan->regs + S3C2443_DMA_DMAREQSEL); |
133 | } | 134 | } |
134 | 135 | ||