fsi: master-gpio: Rename and adjust send delay
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 29 May 2018 05:09:45 +0000 (15:09 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 12 Jul 2018 01:59:48 +0000 (11:59 +1000)
What the driver called "FSI_GPIO_PRIME_SLAVE_CLOCKS" is what
the FSI spec calls tSendDelay and should be 16 clocks by
default.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
drivers/fsi/fsi-master-gpio.c

index 084e9da..3f846da 100644 (file)
@@ -18,6 +18,7 @@
 
 #define        FSI_GPIO_STD_DLY        1       /* Standard pin delay in nS */
 #define        FSI_ECHO_DELAY_CLOCKS   16      /* Number clocks for echo delay */
+#define        FSI_SEND_DELAY_CLOCKS   16      /* Number clocks for send delay */
 #define        FSI_PRE_BREAK_CLOCKS    50      /* Number clocks to prep for break */
 #define        FSI_BREAK_CLOCKS        256     /* Number of clocks to issue break */
 #define        FSI_POST_BREAK_CLOCKS   16000   /* Number clocks to set up cfam */
@@ -48,7 +49,6 @@
 #define        FSI_GPIO_CRC_SIZE       4
 #define        FSI_GPIO_MSG_ID_SIZE            2
 #define        FSI_GPIO_MSG_RESPID_SIZE        2
-#define        FSI_GPIO_PRIME_SLAVE_CLOCKS     20
 
 #define LAST_ADDR_INVALID              0x1
 
@@ -535,9 +535,12 @@ retry:
        if (busy_count > 0)
                trace_fsi_master_gpio_poll_response_busy(master, busy_count);
  fail:
-       /* Clock the slave enough to be ready for next operation */
+       /*
+        * tSendDelay clocks, avoids signal reflections when switching
+        * from receive of response back to send of data.
+        */
        local_irq_save(flags);
-       clock_zeros(master, FSI_GPIO_PRIME_SLAVE_CLOCKS);
+       clock_zeros(master, FSI_SEND_DELAY_CLOCKS);
        local_irq_restore(flags);
 
        return rc;