mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
Merge remote-tracking branches 'spi/fix/dw' and 'spi/fix/sirf' into spi-linus
This commit is contained in:
commit
ec058615f1
@ -376,9 +376,6 @@ static void pump_transfers(unsigned long data)
|
||||
chip = dws->cur_chip;
|
||||
spi = message->spi;
|
||||
|
||||
if (unlikely(!chip->clk_div))
|
||||
chip->clk_div = dws->max_freq / chip->speed_hz;
|
||||
|
||||
if (message->state == ERROR_STATE) {
|
||||
message->status = -EIO;
|
||||
goto early_exit;
|
||||
@ -419,7 +416,7 @@ static void pump_transfers(unsigned long data)
|
||||
if (transfer->speed_hz) {
|
||||
speed = chip->speed_hz;
|
||||
|
||||
if (transfer->speed_hz != speed) {
|
||||
if ((transfer->speed_hz != speed) || (!chip->clk_div)) {
|
||||
speed = transfer->speed_hz;
|
||||
|
||||
/* clk_div doesn't support odd number */
|
||||
@ -581,7 +578,6 @@ static int dw_spi_setup(struct spi_device *spi)
|
||||
dev_err(&spi->dev, "No max speed HZ parameter\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
chip->speed_hz = spi->max_speed_hz;
|
||||
|
||||
chip->tmode = 0; /* Tx & Rx */
|
||||
/* Default SPI mode is SCPOL = 0, SCPH = 0 */
|
||||
|
@ -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);
|
||||
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) |
|
||||
sspi->word_width;
|
||||
(sspi->word_width >> 1);
|
||||
|
||||
if (!(spi->mode & SPI_CS_HIGH))
|
||||
regval |= SIRFSOC_SPI_CS_IDLE_STAT;
|
||||
|
Loading…
Reference in New Issue
Block a user