Selaa lähdekoodia

SH: fix TS field shift calculation for DMA drivers

CHCR_TS_HIGH_SHIFT is defined as a shift of TS high bits in CHCR register,
relative to low bits. The TS_INDEX2VAL() macro has to take this into account.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Guennadi Liakhovetski 15 vuotta sitten
vanhempi
commit
c2fe3092e5
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      arch/sh/include/cpu-sh4/cpu/dma-register.h

+ 1 - 1
arch/sh/include/cpu-sh4/cpu/dma-register.h

@@ -76,7 +76,7 @@ enum {
 }
 }
 
 
 #define TS_INDEX2VAL(i)	((((i) & 3) << CHCR_TS_LOW_SHIFT) | \
 #define TS_INDEX2VAL(i)	((((i) & 3) << CHCR_TS_LOW_SHIFT) | \
-			 ((((i) >> 2) & 3) << CHCR_TS_HIGH_SHIFT))
+			 (((i) & 0xc) << CHCR_TS_HIGH_SHIFT))
 
 
 #else /* CONFIG_CPU_SH4A */
 #else /* CONFIG_CPU_SH4A */