spi: pxa2xx: move debug messages to pump_transfer()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 22 Oct 2015 13:44:39 +0000 (16:44 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 22 Oct 2015 23:56:05 +0000 (08:56 +0900)
The speed can be changed from transfer to transfer, that's why the messages
do not depict the actual values during ->setup(). Move debug messages from
->setup() to pump_transfers(). Get rid of leftovers as well.

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

index 158967a10bec602cd2cd7c1d315c71b2745c7ecb..986a2911e94ea9029e97f807a354a04a152d6854 100644 (file)
@@ -955,7 +955,18 @@ static void pump_transfers(unsigned long data)
                                             "pump_transfers: DMA burst size reduced to match bits_per_word\n");
        }
 
+       /* NOTE:  PXA25x_SSP _could_ use external clocking ... */
        cr0 = pxa2xx_configure_sscr0(drv_data, clk_div, bits);
+       if (!pxa25x_ssp_comp(drv_data))
+               dev_dbg(&message->spi->dev, "%u Hz actual, %s\n",
+                       drv_data->master->max_speed_hz
+                               / (1 + ((cr0 & SSCR0_SCR(0xfff)) >> 8)),
+                       chip->enable_dma ? "DMA" : "PIO");
+       else
+               dev_dbg(&message->spi->dev, "%u Hz actual, %s\n",
+                       drv_data->master->max_speed_hz / 2
+                               / (1 + ((cr0 & SSCR0_SCR(0x0ff)) >> 8)),
+                       chip->enable_dma ? "DMA" : "PIO");
 
        message->state = RUNNING_STATE;
 
@@ -1099,9 +1110,7 @@ static int setup(struct spi_device *spi)
        struct chip_data *chip;
        const struct lpss_config *config;
        struct driver_data *drv_data = spi_master_get_devdata(spi->master);
-       unsigned int clk_div;
        uint tx_thres, tx_hi_thres, rx_thres;
-       u32 cr0;
 
        switch (drv_data->ssp_type) {
        case QUARK_X1000_SSP:
@@ -1192,8 +1201,6 @@ static int setup(struct spi_device *spi)
                }
        }
 
-       clk_div = pxa2xx_ssp_get_clk_div(drv_data, chip, spi->max_speed_hz);
-
        switch (drv_data->ssp_type) {
        case QUARK_X1000_SSP:
                chip->threshold = (QUARK_X1000_SSCR1_RxTresh(rx_thres)
@@ -1214,19 +1221,6 @@ static int setup(struct spi_device *spi)
        if (spi->mode & SPI_LOOP)
                chip->cr1 |= SSCR1_LBM;
 
-       /* NOTE:  PXA25x_SSP _could_ use external clocking ... */
-       cr0 = pxa2xx_configure_sscr0(drv_data, clk_div, spi->bits_per_word);
-       if (!pxa25x_ssp_comp(drv_data))
-               dev_dbg(&spi->dev, "%u Hz actual, %s\n",
-                       drv_data->master->max_speed_hz
-                               / (1 + ((cr0 & SSCR0_SCR(0xfff)) >> 8)),
-                       chip->enable_dma ? "DMA" : "PIO");
-       else
-               dev_dbg(&spi->dev, "%u Hz actual, %s\n",
-                       drv_data->master->max_speed_hz / 2
-                               / (1 + ((cr0 & SSCR0_SCR(0x0ff)) >> 8)),
-                       chip->enable_dma ? "DMA" : "PIO");
-
        if (spi->bits_per_word <= 8) {
                chip->n_bytes = 1;
                chip->read = u8_reader;