|
@@ -198,6 +198,11 @@ static void atmel_spi_next_xfer(struct spi_master *master,
|
|
|
len >>= 1;
|
|
|
spi_writel(as, RCR, len);
|
|
|
spi_writel(as, TCR, len);
|
|
|
+
|
|
|
+ dev_dbg(&msg->spi->dev,
|
|
|
+ " start xfer %p: len %u tx %p/%08x rx %p/%08x\n",
|
|
|
+ xfer, xfer->len, xfer->tx_buf, xfer->tx_dma,
|
|
|
+ xfer->rx_buf, xfer->rx_dma);
|
|
|
} else {
|
|
|
xfer = as->next_transfer;
|
|
|
remaining = as->next_remaining_bytes;
|
|
@@ -208,8 +213,8 @@ static void atmel_spi_next_xfer(struct spi_master *master,
|
|
|
|
|
|
if (remaining > 0)
|
|
|
len = remaining;
|
|
|
- else if (!atmel_spi_xfer_is_last(msg, xfer) &&
|
|
|
- atmel_spi_xfer_can_be_chained(xfer)) {
|
|
|
+ else if (!atmel_spi_xfer_is_last(msg, xfer)
|
|
|
+ && atmel_spi_xfer_can_be_chained(xfer)) {
|
|
|
xfer = list_entry(xfer->transfer_list.next,
|
|
|
struct spi_transfer, transfer_list);
|
|
|
len = xfer->len;
|
|
@@ -230,6 +235,11 @@ static void atmel_spi_next_xfer(struct spi_master *master,
|
|
|
len >>= 1;
|
|
|
spi_writel(as, RNCR, len);
|
|
|
spi_writel(as, TNCR, len);
|
|
|
+
|
|
|
+ dev_dbg(&msg->spi->dev,
|
|
|
+ " next xfer %p: len %u tx %p/%08x rx %p/%08x\n",
|
|
|
+ xfer, xfer->len, xfer->tx_buf, xfer->tx_dma,
|
|
|
+ xfer->rx_buf, xfer->rx_dma);
|
|
|
} else {
|
|
|
spi_writel(as, RNCR, 0);
|
|
|
spi_writel(as, TNCR, 0);
|
|
@@ -246,12 +256,6 @@ static void atmel_spi_next_xfer(struct spi_master *master,
|
|
|
* It should be doable, though. Just not now...
|
|
|
*/
|
|
|
spi_writel(as, IER, SPI_BIT(ENDRX) | SPI_BIT(OVRES));
|
|
|
-
|
|
|
- dev_dbg(&msg->spi->dev,
|
|
|
- " start xfer %p: len %u tx %p/%08x rx %p/%08x imr %03x\n",
|
|
|
- xfer, xfer->len, xfer->tx_buf, xfer->tx_dma,
|
|
|
- xfer->rx_buf, xfer->rx_dma, spi_readl(as, IMR));
|
|
|
-
|
|
|
spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));
|
|
|
}
|
|
|
|