Commit ec058615 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'spi/fix/dw' and 'spi/fix/sirf' into spi-linus

...@@ -376,9 +376,6 @@ static void pump_transfers(unsigned long data) ...@@ -376,9 +376,6 @@ static void pump_transfers(unsigned long data)
chip = dws->cur_chip; chip = dws->cur_chip;
spi = message->spi; spi = message->spi;
if (unlikely(!chip->clk_div))
chip->clk_div = dws->max_freq / chip->speed_hz;
if (message->state == ERROR_STATE) { if (message->state == ERROR_STATE) {
message->status = -EIO; message->status = -EIO;
goto early_exit; goto early_exit;
...@@ -419,7 +416,7 @@ static void pump_transfers(unsigned long data) ...@@ -419,7 +416,7 @@ static void pump_transfers(unsigned long data)
if (transfer->speed_hz) { if (transfer->speed_hz) {
speed = chip->speed_hz; speed = chip->speed_hz;
if (transfer->speed_hz != speed) { if ((transfer->speed_hz != speed) || (!chip->clk_div)) {
speed = transfer->speed_hz; speed = transfer->speed_hz;
/* clk_div doesn't support odd number */ /* clk_div doesn't support odd number */
...@@ -581,7 +578,6 @@ static int dw_spi_setup(struct spi_device *spi) ...@@ -581,7 +578,6 @@ static int dw_spi_setup(struct spi_device *spi)
dev_err(&spi->dev, "No max speed HZ parameter\n"); dev_err(&spi->dev, "No max speed HZ parameter\n");
return -EINVAL; return -EINVAL;
} }
chip->speed_hz = spi->max_speed_hz;
chip->tmode = 0; /* Tx & Rx */ chip->tmode = 0; /* Tx & Rx */
/* Default SPI mode is SCPOL = 0, SCPH = 0 */ /* Default SPI mode is SCPOL = 0, SCPH = 0 */
......
...@@ -562,9 +562,9 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t) ...@@ -562,9 +562,9 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
sspi->word_width = DIV_ROUND_UP(bits_per_word, 8); sspi->word_width = DIV_ROUND_UP(bits_per_word, 8);
txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) | txfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
sspi->word_width; (sspi->word_width >> 1);
rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) | rxfifo_ctrl = SIRFSOC_SPI_FIFO_THD(SIRFSOC_SPI_FIFO_SIZE / 2) |
sspi->word_width; (sspi->word_width >> 1);
if (!(spi->mode & SPI_CS_HIGH)) if (!(spi->mode & SPI_CS_HIGH))
regval |= SIRFSOC_SPI_CS_IDLE_STAT; regval |= SIRFSOC_SPI_CS_IDLE_STAT;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment