spi: bcm2835aux: disable tx fifo empty irq
The tx empty irq can be disabled when all data was copied. This prevents unnecessary interrupts while the last bytes are sent. Signed-off-by: Stephan Olbrich <stephanolbrich@gmx.de> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
0697ae80fe
Коммит
f29ab1845f
|
@ -212,6 +212,12 @@ static irqreturn_t bcm2835aux_spi_interrupt(int irq, void *dev_id)
|
|||
ret = IRQ_HANDLED;
|
||||
}
|
||||
|
||||
if (!bs->tx_len) {
|
||||
/* disable tx fifo empty interrupt */
|
||||
bcm2835aux_wr(bs, BCM2835_AUX_SPI_CNTL1, bs->cntl[1] |
|
||||
BCM2835_AUX_SPI_CNTL1_IDLE);
|
||||
}
|
||||
|
||||
/* and if rx_len is 0 then wake up completion and disable spi */
|
||||
if (!bs->rx_len) {
|
||||
bcm2835aux_spi_reset_hw(bs);
|
||||
|
|
Загрузка…
Ссылка в новой задаче