Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 565c0d3f authored by Graf Yang's avatar Graf Yang Committed by Bryan Wu
Browse files

[Blackfin] arch: fix bug - before assign new channel to the map register, need...

[Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first.

http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2445



Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent 5be36d22
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -106,13 +106,16 @@ int request_dma(unsigned int channel, char *device_id)

#ifdef CONFIG_BF54x
	if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) {
		if (strncmp(device_id, "BFIN_UART", 9) == 0)
		if (strncmp(device_id, "BFIN_UART", 9) == 0) {
			dma_ch[channel].regs->peripheral_map &= 0x0FFF;
			dma_ch[channel].regs->peripheral_map |=
				((channel - CH_UART2_RX + 0xC)<<12);
		else
		} else {
			dma_ch[channel].regs->peripheral_map &= 0x0FFF;
			dma_ch[channel].regs->peripheral_map |=
				((channel - CH_UART2_RX + 0x6)<<12);
		}
	}
#endif

	dma_ch[channel].device_id = device_id;