linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] spi: spi-bcm-qspi: Use new structure for SPI transfer delays
@ 2020-02-27 14:10 Sergiu Cuciurean
       [not found] ` <20200227141050.10969-1-sergiu.cuciurean-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Sergiu Cuciurean @ 2020-02-27 14:10 UTC (permalink / raw)
  To: linux-kernel, linux-spi, broonie, bcm-kernel-feedback-list, kdasu.kdev
  Cc: Sergiu Cuciurean

In a recent change to the SPI subsystem [1], a new `delay` struct was added
to replace the `delay_usecs`. This change replaces the current
`delay_usecs` with `delay` for this driver.

The `spi_transfer_delay_exec()` function [in the SPI framework] makes sure
that both `delay_usecs` & `delay` are used (in this order to preserve
backwards compatibility).

[1] commit bebcfd272df6 ("spi: introduce `delay` field for
`spi_transfer` + spi_transfer_delay_exec()")

Signed-off-by: Sergiu Cuciurean <sergiu.cuciurean@analog.com>
---
 drivers/spi/spi-bcm-qspi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-bcm-qspi.c b/drivers/spi/spi-bcm-qspi.c
index 23d295f36c80..8cac843e7b31 100644
--- a/drivers/spi/spi-bcm-qspi.c
+++ b/drivers/spi/spi-bcm-qspi.c
@@ -606,7 +606,8 @@ static int update_qspi_trans_byte_count(struct bcm_qspi *qspi,
 	if (qt->byte >= qt->trans->len) {
 		/* we're at the end of the spi_transfer */
 		/* in TX mode, need to pause for a delay or CS change */
-		if (qt->trans->delay_usecs &&
+		if (qt->trans->delay.value &&
+		    (qt->trans->delay.unit == SPI_DELAY_UNIT_USECS) &&
 		    (flags & TRANS_STATUS_BREAK_DELAY))
 			ret |= TRANS_STATUS_BREAK_DELAY;
 		if (qt->trans->cs_change &&
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] spi: spi-bcm-qspi: Use new structure for SPI transfer delays
       [not found] ` <20200227141050.10969-1-sergiu.cuciurean-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
@ 2020-02-27 15:29   ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2020-02-27 15:29 UTC (permalink / raw)
  To: Sergiu Cuciurean
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w,
	kdasu.kdev-Re5JQEeQqe8AvxtiuMwx3w

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

On Thu, Feb 27, 2020 at 04:10:50PM +0200, Sergiu Cuciurean wrote:

>  	if (qt->byte >= qt->trans->len) {
>  		/* we're at the end of the spi_transfer */
>  		/* in TX mode, need to pause for a delay or CS change */
> -		if (qt->trans->delay_usecs &&
> +		if (qt->trans->delay.value &&
> +		    (qt->trans->delay.unit == SPI_DELAY_UNIT_USECS) &&

It doesn't seem ideal that if the delay ends up specified in a unit over
microseconds that we end up just ignoring the delay entirely.  This
probably needs fixing in the core though, for example allowing the
driver to say what range of delays it can actually implement.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-02-27 15:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27 14:10 [PATCH] spi: spi-bcm-qspi: Use new structure for SPI transfer delays Sergiu Cuciurean
     [not found] ` <20200227141050.10969-1-sergiu.cuciurean-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
2020-02-27 15:29   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).