diff options
| author | akpm <akpm@linux-foundation.org> | 2022-06-27 10:31:34 -0700 |
|---|---|---|
| committer | akpm <akpm@linux-foundation.org> | 2022-06-27 10:31:34 -0700 |
| commit | 46a3b1125308f8f90a065eeecfafd2a96b01a36c (patch) | |
| tree | 6e080118fbad5aa217d160cedf02f10108ce3bf2 /drivers/spi/spi-rockchip.c | |
| parent | 6edda04ccc7cfb281d139e352dbd5dd933bd2751 (diff) | |
| parent | 03c765b0e3b4cb5063276b086c76f7a612856a9a (diff) | |
Merge branch 'master' into mm-stable
Diffstat (limited to 'drivers/spi/spi-rockchip.c')
| -rw-r--r-- | drivers/spi/spi-rockchip.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index a08215eb9e14..79242dc5272d 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -381,15 +381,18 @@ static int rockchip_spi_prepare_irq(struct rockchip_spi *rs, rs->tx_left = rs->tx ? xfer->len / rs->n_bytes : 0; rs->rx_left = xfer->len / rs->n_bytes; - if (rs->cs_inactive) - writel_relaxed(INT_RF_FULL | INT_CS_INACTIVE, rs->regs + ROCKCHIP_SPI_IMR); - else - writel_relaxed(INT_RF_FULL, rs->regs + ROCKCHIP_SPI_IMR); + writel_relaxed(0xffffffff, rs->regs + ROCKCHIP_SPI_ICR); + spi_enable_chip(rs, true); if (rs->tx_left) rockchip_spi_pio_writer(rs); + if (rs->cs_inactive) + writel_relaxed(INT_RF_FULL | INT_CS_INACTIVE, rs->regs + ROCKCHIP_SPI_IMR); + else + writel_relaxed(INT_RF_FULL, rs->regs + ROCKCHIP_SPI_IMR); + /* 1 means the transfer is in progress */ return 1; } |