The driver attempts to read the recieved data immediately after writing to the transmit buffer. If no data is available, the driver currently waits 20ms until trying again. Since the hardware needs to shift out the transmitted data, the first poll always fails, leading to 20ms delay between bytes.
This patch reduces the polling interval to 1us, and also reduces the timeout to 10ms. Signed-off-by: Phil Edworthy <phil.edwor...@renesas.com> --- drivers/spi/spi-sh-hspi.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-sh-hspi.c b/drivers/spi/spi-sh-hspi.c index 934138c..0ca18c8 100644 --- a/drivers/spi/spi-sh-hspi.c +++ b/drivers/spi/spi-sh-hspi.c @@ -73,13 +73,13 @@ static u32 hspi_read(struct hspi_priv *hspi, int reg) */ static int hspi_status_check_timeout(struct hspi_priv *hspi, u32 mask, u32 val) { - int t = 256; + int t = 10000; /* 10ms max timeout */ while (t--) { if ((mask & hspi_read(hspi, SPSR)) == val) return 0; - msleep(20); + udelay(1); } dev_err(hspi->dev, "timeout\n"); -- 1.7.5.4 ------------------------------------------------------------------------------ Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general