diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-10-13 05:33:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 12:51:38 -0400 |
commit | ab2375f2fe256358a982e357d298801cf1adbd00 (patch) | |
tree | f64dc27aa9756dd951da6a9453db7a75f437d083 /arch/blackfin/kernel | |
parent | b3ef5aba64aed5be0fccca3ff39c8f2282111ce5 (diff) |
Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO mode
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index 93229b3d6e3e..339293d677cc 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -117,15 +117,14 @@ int request_dma(unsigned int channel, char *device_id) | |||
117 | 117 | ||
118 | #ifdef CONFIG_BF54x | 118 | #ifdef CONFIG_BF54x |
119 | if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) { | 119 | if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) { |
120 | if (strncmp(device_id, "BFIN_UART", 9) == 0) { | 120 | unsigned int per_map; |
121 | dma_ch[channel].regs->peripheral_map &= 0x0FFF; | 121 | per_map = dma_ch[channel].regs->peripheral_map & 0xFFF; |
122 | dma_ch[channel].regs->peripheral_map |= | 122 | if (strncmp(device_id, "BFIN_UART", 9) == 0) |
123 | dma_ch[channel].regs->peripheral_map = per_map | | ||
123 | ((channel - CH_UART2_RX + 0xC)<<12); | 124 | ((channel - CH_UART2_RX + 0xC)<<12); |
124 | } else { | 125 | else |
125 | dma_ch[channel].regs->peripheral_map &= 0x0FFF; | 126 | dma_ch[channel].regs->peripheral_map = per_map | |
126 | dma_ch[channel].regs->peripheral_map |= | ||
127 | ((channel - CH_UART2_RX + 0x6)<<12); | 127 | ((channel - CH_UART2_RX + 0x6)<<12); |
128 | } | ||
129 | } | 128 | } |
130 | #endif | 129 | #endif |
131 | 130 | ||