Merge remote-tracking branches 'spi/fix/dw', 'spi/fix/queue' and 'spi/fix/qup' into spi-linus
This commit is contained in:
commit
072ac04d31
3 changed files with 12 additions and 8 deletions
|
@ -108,7 +108,8 @@ static void dw_spi_dma_tx_done(void *arg)
|
||||||
{
|
{
|
||||||
struct dw_spi *dws = arg;
|
struct dw_spi *dws = arg;
|
||||||
|
|
||||||
if (test_and_clear_bit(TX_BUSY, &dws->dma_chan_busy) & BIT(RX_BUSY))
|
clear_bit(TX_BUSY, &dws->dma_chan_busy);
|
||||||
|
if (test_bit(RX_BUSY, &dws->dma_chan_busy))
|
||||||
return;
|
return;
|
||||||
dw_spi_xfer_done(dws);
|
dw_spi_xfer_done(dws);
|
||||||
}
|
}
|
||||||
|
@ -156,7 +157,8 @@ static void dw_spi_dma_rx_done(void *arg)
|
||||||
{
|
{
|
||||||
struct dw_spi *dws = arg;
|
struct dw_spi *dws = arg;
|
||||||
|
|
||||||
if (test_and_clear_bit(RX_BUSY, &dws->dma_chan_busy) & BIT(TX_BUSY))
|
clear_bit(RX_BUSY, &dws->dma_chan_busy);
|
||||||
|
if (test_bit(TX_BUSY, &dws->dma_chan_busy))
|
||||||
return;
|
return;
|
||||||
dw_spi_xfer_done(dws);
|
dw_spi_xfer_done(dws);
|
||||||
}
|
}
|
||||||
|
|
|
@ -498,7 +498,7 @@ static int spi_qup_probe(struct platform_device *pdev)
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
u32 max_freq, iomode;
|
u32 max_freq, iomode, num_cs;
|
||||||
int ret, irq, size;
|
int ret, irq, size;
|
||||||
|
|
||||||
dev = &pdev->dev;
|
dev = &pdev->dev;
|
||||||
|
@ -550,10 +550,11 @@ static int spi_qup_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* use num-cs unless not present or out of range */
|
/* use num-cs unless not present or out of range */
|
||||||
if (of_property_read_u16(dev->of_node, "num-cs",
|
if (of_property_read_u32(dev->of_node, "num-cs", &num_cs) ||
|
||||||
&master->num_chipselect) ||
|
num_cs > SPI_NUM_CHIPSELECTS)
|
||||||
(master->num_chipselect > SPI_NUM_CHIPSELECTS))
|
|
||||||
master->num_chipselect = SPI_NUM_CHIPSELECTS;
|
master->num_chipselect = SPI_NUM_CHIPSELECTS;
|
||||||
|
else
|
||||||
|
master->num_chipselect = num_cs;
|
||||||
|
|
||||||
master->bus_num = pdev->id;
|
master->bus_num = pdev->id;
|
||||||
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
|
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
|
||||||
|
|
|
@ -1105,13 +1105,14 @@ void spi_finalize_current_message(struct spi_master *master)
|
||||||
"failed to unprepare message: %d\n", ret);
|
"failed to unprepare message: %d\n", ret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trace_spi_message_done(mesg);
|
||||||
|
|
||||||
master->cur_msg_prepared = false;
|
master->cur_msg_prepared = false;
|
||||||
|
|
||||||
mesg->state = NULL;
|
mesg->state = NULL;
|
||||||
if (mesg->complete)
|
if (mesg->complete)
|
||||||
mesg->complete(mesg->context);
|
mesg->complete(mesg->context);
|
||||||
|
|
||||||
trace_spi_message_done(mesg);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(spi_finalize_current_message);
|
EXPORT_SYMBOL_GPL(spi_finalize_current_message);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue