Benjamin Herrenschmidt
4e56828a5d
fsi/fsi-master-gpio: Implement CRC error recovery
...
The FSI protocol defines two modes of recovery from CRC errors,
this implements both:
- If the device returns an ECRC (it detected a CRC error in the
command), then we simply issue the command again.
- If the master detects a CRC error in the response, we send
an E_POLL command which requests a resend of the response
without actually re-executing the command (which could otherwise
have unwanted side effects such as dequeuing a FIFO twice).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Reviewed-by: Christopher Bostic <cbostic@linux.vnet.ibm.com >
Tested-by: Joel Stanley <joel@jms.id.au >
---
Note: This was actually tested by removing some of my fixes, thus
causing us to hit occasional CRC errors during high LPC activity.
2018-06-12 14:05:16 +10:00
..
2017-11-02 11:10:55 +01:00
2018-05-14 15:15:18 +01:00
2017-11-02 11:10:55 +01:00
2018-04-16 11:53:35 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-13 15:10:01 -05:00
2018-05-28 18:07:30 +02:00
2018-04-04 13:41:27 +01:00
2017-11-02 11:10:55 +01:00
2017-12-05 15:28:51 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 14:58:01 -08:00
2018-02-18 20:53:23 -05:00
2018-03-28 22:55:18 +02:00
2018-05-24 23:01:15 -04:00
2018-05-24 23:01:15 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 09:51:57 -08:00
2018-04-06 14:05:14 +01:00
2018-06-12 14:05:16 +10:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-18 21:50:04 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-05-31 21:01:03 +02:00
2018-04-26 15:02:46 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-09-25 20:38:26 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-15 18:21:06 -08:00
2017-12-18 12:57:01 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-05 21:36:24 -07:00
2018-03-15 11:15:22 +01:00
2018-02-23 14:29:59 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-02 14:27:30 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-04 06:52:08 -05:00
2017-11-02 11:10:55 +01:00
2017-08-16 14:10:10 -07:00
2017-11-02 11:10:55 +01:00
2018-05-15 10:31:09 -07:00
2018-01-23 09:44:14 -05:00
2017-11-02 11:10:55 +01:00
2018-01-23 09:44:38 -05:00
2017-11-02 11:10:55 +01:00
2018-06-06 11:58:31 +02:00
2018-02-13 21:30:22 +01:00
2018-06-04 16:06:26 -04:00
2018-05-25 08:04:01 +02:00
2017-11-02 11:10:55 +01:00
2018-01-02 14:27:29 -05:00
2017-11-02 11:10:55 +01:00
2017-12-19 10:56:24 +01:00
2017-11-02 11:10:55 +01:00
2017-05-31 21:01:03 +02:00
2018-01-08 14:32:45 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-11 13:56:43 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-05-31 13:20:47 -04:00
2017-11-02 11:10:55 +01:00
2017-12-07 22:52:01 +01:00
2017-11-02 11:10:55 +01:00
2018-01-16 03:00:50 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-18 23:37:39 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-11 10:28:30 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-19 11:05:48 -04:00
2017-11-14 15:32:19 -08:00
2018-05-24 18:36:15 -07:00
2018-05-14 17:02:30 -04:00