spi: dw: print debug message with FIFO size
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 7 Jan 2015 14:56:55 +0000 (16:56 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 7 Jan 2015 18:01:06 +0000 (18:01 +0000)
When autodetection is used it would be useful to know what the FIFO size is.
The patch adds a debug message for this purpose.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw.c

index 8edcd1b84562109799281fb48867df8ce73ac7b2..5a97a62b298ac1a526d4c1bde932f3eb2d5ad574 100644 (file)
@@ -608,7 +608,7 @@ static void dw_spi_cleanup(struct spi_device *spi)
 }
 
 /* Restart the controller, disable all interrupts, clean rx fifo */
-static void spi_hw_init(struct dw_spi *dws)
+static void spi_hw_init(struct device *dev, struct dw_spi *dws)
 {
        spi_enable_chip(dws, 0);
        spi_mask_intr(dws, 0xff);
@@ -626,9 +626,10 @@ static void spi_hw_init(struct dw_spi *dws)
                        if (fifo != dw_readw(dws, DW_SPI_TXFLTR))
                                break;
                }
+               dw_writew(dws, DW_SPI_TXFLTR, 0);
 
                dws->fifo_len = (fifo == 2) ? 0 : fifo - 1;
-               dw_writew(dws, DW_SPI_TXFLTR, 0);
+               dev_dbg(dev, "Detected FIFO size: %u bytes\n", dws->fifo_len);
        }
 }
 
@@ -668,7 +669,7 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
        master->dev.of_node = dev->of_node;
 
        /* Basic HW init */
-       spi_hw_init(dws);
+       spi_hw_init(dev, dws);
 
        if (dws->dma_ops && dws->dma_ops->dma_init) {
                ret = dws->dma_ops->dma_init(dws);
@@ -731,7 +732,7 @@ int dw_spi_resume_host(struct dw_spi *dws)
 {
        int ret;
 
-       spi_hw_init(dws);
+       spi_hw_init(&dws->master->dev, dws);
        ret = spi_master_resume(dws->master);
        if (ret)
                dev_err(&dws->master->dev, "fail to start queue (%d)\n", ret);