spi: core: Use master->max_speed_hz as transfer speed when xfer->speed_hz > master->max_speed_hz
RFC PATCH 1/1 spi: core: Use master->max_speed_hz as transfer speed when xfer->speed_hz > master->max_speed_hz
When xfer->speed_hz is greater than master->max_speed_hz, it's generally safe to use master->max_speed_hz as transfer speed.
Thus use master->max_speed_hz as transfer speed rather than return error when xfer->speed_hz > master->max_speed_hz.
---
Hi Guenter,
Does this patch fix the issue you encounter?
Regards,
Axel
drivers/spi/spi.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
drivers/spi/spi.c +6 -8
@@ -1844,12 +1844,13 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) message->frame_length += xfer->len;if (!xfer->bits_per_word) xfer->bits_per_word = spi->bits_per_word; -if (!xfer->speed_hz) { + +if (!xfer->speed_hz) xfer->speed_hz = spi->max_speed_hz; -if (master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) - xfer->speed_hz = master->max_speed_hz; - } + +if (master->max_speed_hz && + xfer->speed_hz > master->max_speed_hz) + xfer->speed_hz = master->max_speed_hz;if (master->bits_per_word_mask) {/* Only 32 bits fit in the mask */
@@ -1878,9 +1879,6 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)if (xfer->speed_hz && master->min_speed_hz && xfer->speed_hz < master->min_speed_hz)return -EINVAL ; -if (xfer->speed_hz && master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) -return -EINVAL ;if (xfer->tx_buf && !xfer->tx_nbits) xfer->tx_nbits =SPI_NBITS_SINGLE ;
Signature · 8 lines
1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 11 lines · Axel Lin
When
xfer->speed_hzis greater thanmaster->max_speed_hz, it's generally safe to usemaster->max_speed_hzas transfer speed.
Thus usemaster->max_speed_hzas transfer speed rather than return error whenxfer->speed_hz>master->max_speed_hz.Signed-off-by Axel Lin <[email protected]>---
Hi Guenter,
Does this patch fix the issue you encounter?
Regards,
Axel
I'll test it and let you know.
Guenter
Quoted 28 lines
drivers/spi/spi.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)drivers/spi/spi.c +6
-5@@ -1844,12 +1844,13 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) message->frame_length += xfer->len;if (!xfer->bits_per_word) xfer->bits_per_word = spi->bits_per_word; -if (!xfer->speed_hz) { + +if (!xfer->speed_hz) xfer->speed_hz = spi->max_speed_hz; -if (master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) - xfer->speed_hz = master->max_speed_hz; - } + +if (master->max_speed_hz && + xfer->speed_hz > master->max_speed_hz) + xfer->speed_hz = master->max_speed_hz;if (master->bits_per_word_mask) {/* Only 32 bits fit in the mask */
drivers/spi/spi.c static int __spi_validate(struct spi_device *spi, struct spi_message *message) · line 1884
Quoted 9 lines
drivers/spi/spi.c +0
-3@@ -1878,9 +1879,6 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)if (xfer->speed_hz && master->min_speed_hz && xfer->speed_hz < master->min_speed_hz)return -EINVAL ; -if (xfer->speed_hz && master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) -return -EINVAL ;if (xfer->tx_buf && !xfer->tx_nbits) xfer->tx_nbits =SPI_NBITS_SINGLE ;
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 6 lines · Axel Lin
When
xfer->speed_hzis greater thanmaster->max_speed_hz, it's generally safe to usemaster->max_speed_hzas transfer speed.
Thus usemaster->max_speed_hzas transfer speed rather than return error whenxfer->speed_hz>master->max_speed_hz.Signed-off-by Axel Lin <[email protected]>
Guenter
Quoted 33 lines
---
Hi Guenter,
Does this patch fix the issue you encounter?
Regards,
Axeldrivers/spi/spi.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)drivers/spi/spi.c +6
-5@@ -1844,12 +1844,13 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) message->frame_length += xfer->len;if (!xfer->bits_per_word) xfer->bits_per_word = spi->bits_per_word; -if (!xfer->speed_hz) { + +if (!xfer->speed_hz) xfer->speed_hz = spi->max_speed_hz; -if (master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) - xfer->speed_hz = master->max_speed_hz; - } + +if (master->max_speed_hz && + xfer->speed_hz > master->max_speed_hz) + xfer->speed_hz = master->max_speed_hz;if (master->bits_per_word_mask) {/* Only 32 bits fit in the mask */
drivers/spi/spi.c static int __spi_validate(struct spi_device *spi, struct spi_message *message) · line 1884
Quoted 9 lines
drivers/spi/spi.c +0
-3@@ -1878,9 +1879,6 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)if (xfer->speed_hz && master->min_speed_hz && xfer->speed_hz < master->min_speed_hz)return -EINVAL ; -if (xfer->speed_hz && master->max_speed_hz && - xfer->speed_hz > master->max_speed_hz) -return -EINVAL ;if (xfer->tx_buf && !xfer->tx_nbits) xfer->tx_nbits =SPI_NBITS_SINGLE ;
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Brown
AppliedQuoted 4 lines · Axel Lin
When
xfer->speed_hzis greater thanmaster->max_speed_hz, it's generally safe to usemaster->max_speed_hzas transfer speed.
Thus usemaster->max_speed_hzas transfer speed rather than return error whenxfer->speed_hz>master->max_speed_hz.
Applied, thanks.