mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
spi: rockchip: Mask cs inactive interrupt after dma finished
The cs inactive logic can always be triggered when the controller is working, so the interrupt may be triggered when processing the dma transmission completion interrupt. Change-Id: I529140e43125ff3a06da67604a17afb585aafd72 Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This commit is contained in:
@@ -423,6 +423,8 @@ static void rockchip_spi_dma_rxcb(void *data)
|
||||
writel_relaxed(0, rs->regs + ROCKCHIP_SPI_IMR);
|
||||
|
||||
spi_enable_chip(rs, false);
|
||||
writel_relaxed(0, rs->regs + ROCKCHIP_SPI_IMR);
|
||||
writel_relaxed(0xffffffff, rs->regs + ROCKCHIP_SPI_ICR);
|
||||
spi_finalize_current_transfer(ctlr);
|
||||
}
|
||||
|
||||
@@ -439,6 +441,8 @@ static void rockchip_spi_dma_txcb(void *data)
|
||||
wait_for_tx_idle(rs, ctlr->slave);
|
||||
|
||||
spi_enable_chip(rs, false);
|
||||
writel_relaxed(0, rs->regs + ROCKCHIP_SPI_IMR);
|
||||
writel_relaxed(0xffffffff, rs->regs + ROCKCHIP_SPI_ICR);
|
||||
spi_finalize_current_transfer(ctlr);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user