kernel: backport bcma patches queued for 3.20
[openwrt/svn-archive/archive.git] / target / linux / ipq806x / patches / 0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch
1 From e8e77359524e6629bac68db4183694fccffaed8e Mon Sep 17 00:00:00 2001
2 From: Andy Gross <agross@codeaurora.org>
3 Date: Tue, 13 May 2014 16:34:42 -0500
4 Subject: [PATCH 075/182] spi: qup: Correct selection of FIFO/Block mode
5
6 This patch fixes the calculation for determining whether to use FIFO or BLOCK
7 mode.
8
9 Signed-off-by: Andy Gross <agross@codeaurora.org>
10 Signed-off-by: Mark Brown <broonie@linaro.org>
11 ---
12 drivers/spi/spi-qup.c | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15 --- a/drivers/spi/spi-qup.c
16 +++ b/drivers/spi/spi-qup.c
17 @@ -287,7 +287,7 @@ static irqreturn_t spi_qup_qup_irq(int i
18 writel_relaxed(opflags, controller->base + QUP_OPERATIONAL);
19
20 if (!xfer) {
21 - dev_err_ratelimited(controller->dev, "unexpected irq %x08 %x08 %x08\n",
22 + dev_err_ratelimited(controller->dev, "unexpected irq %08x %08x %08x\n",
23 qup_err, spi_err, opflags);
24 return IRQ_HANDLED;
25 }
26 @@ -366,7 +366,7 @@ static int spi_qup_io_config(struct spi_
27 n_words = xfer->len / w_size;
28 controller->w_size = w_size;
29
30 - if (n_words <= controller->in_fifo_sz) {
31 + if (n_words <= (controller->in_fifo_sz / sizeof(u32))) {
32 mode = QUP_IO_M_MODE_FIFO;
33 writel_relaxed(n_words, controller->base + QUP_MX_READ_CNT);
34 writel_relaxed(n_words, controller->base + QUP_MX_WRITE_CNT);