spi: qup: Correct selection of FIFO/Block mode
authorAndy Gross <agross@codeaurora.org>
Tue, 13 May 2014 21:34:42 +0000 (16:34 -0500)
committerMark Brown <broonie@linaro.org>
Wed, 14 May 2014 15:16:51 +0000 (16:16 +0100)
This patch fixes the calculation for determining whether to use FIFO or BLOCK
mode.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c

index 78c66e3c53ed5f88d8d79ac3c16cdb4800af71f0..943f973a59aa79e0bcb32cc5955ac30ee7d9606c 100644 (file)
@@ -287,7 +287,7 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
        writel_relaxed(opflags, controller->base + QUP_OPERATIONAL);
 
        if (!xfer) {
-               dev_err_ratelimited(controller->dev, "unexpected irq %x08 %x08 %x08\n",
+               dev_err_ratelimited(controller->dev, "unexpected irq %08x %08x %08x\n",
                                    qup_err, spi_err, opflags);
                return IRQ_HANDLED;
        }
@@ -366,7 +366,7 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
        n_words = xfer->len / w_size;
        controller->w_size = w_size;
 
-       if (n_words <= controller->in_fifo_sz) {
+       if (n_words <= (controller->in_fifo_sz / sizeof(u32))) {
                mode = QUP_IO_M_MODE_FIFO;
                writel_relaxed(n_words, controller->base + QUP_MX_READ_CNT);
                writel_relaxed(n_words, controller->base + QUP_MX_WRITE_CNT);