Skip to content

Commit 8b752c8

Browse files
committed
Merge tag 'spi-fix-v7.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi fixes from Mark Brown: "A couple of fairly routine driver fixes, nothing too remarkable" * tag 'spi-fix-v7.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi: cadence-quadspi: Fix indirect write timeout when DMA read mode is enabled spi: dw-dma: Wait for controller idle before completing Tx
2 parents 6eb9466 + e919ca3 commit 8b752c8

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

drivers/spi/spi-cadence-quadspi.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,12 +382,16 @@ static irqreturn_t cqspi_irq_handler(int this_irq, void *dev)
382382
/* Clear interrupt */
383383
writel(irq_status, cqspi->iobase + CQSPI_REG_IRQSTATUS);
384384

385-
if (cqspi->use_dma_read && ddata && ddata->get_dma_status)
386-
irq_status = ddata->get_dma_status(cqspi);
387-
else if (cqspi->slow_sram)
385+
if (cqspi->use_dma_read && ddata && ddata->get_dma_status) {
386+
if (ddata->get_dma_status(cqspi)) {
387+
complete(&cqspi->transfer_complete);
388+
return IRQ_HANDLED;
389+
}
390+
} else if (cqspi->slow_sram) {
388391
irq_status &= CQSPI_IRQ_MASK_RD_SLOW_SRAM | CQSPI_IRQ_MASK_WR;
389-
else
392+
} else {
390393
irq_status &= CQSPI_IRQ_MASK_RD | CQSPI_IRQ_MASK_WR;
394+
}
391395

392396
if (irq_status)
393397
complete(&cqspi->transfer_complete);

drivers/spi/spi-dw-dma.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,8 @@ static int dw_spi_dma_wait(struct dw_spi *dws, unsigned int len, u32 speed)
282282

283283
static inline bool dw_spi_dma_tx_busy(struct dw_spi *dws)
284284
{
285-
return !(dw_readl(dws, DW_SPI_SR) & DW_SPI_SR_TF_EMPT);
285+
return (dw_readl(dws, DW_SPI_SR) &
286+
(DW_SPI_SR_BUSY | DW_SPI_SR_TF_EMPT)) != DW_SPI_SR_TF_EMPT;
286287
}
287288

288289
static int dw_spi_dma_wait_tx_done(struct dw_spi *dws,

0 commit comments

Comments
 (0)