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
..
2018-06-08 17:21:52 -07:00
2018-06-06 13:49:25 -07:00
2018-06-10 13:01:12 -07:00
2018-06-08 11:10:58 -07:00
2018-06-04 10:58:12 -07:00
2018-06-08 13:36:19 -07:00
2018-06-11 18:15:22 -07:00
2018-06-09 11:14:30 -07:00
2018-06-09 12:06:24 -07:00
2018-06-09 12:06:24 -07:00
2018-06-06 18:39:49 -07:00
2018-06-11 18:15:22 -07:00
2018-06-07 10:23:33 -07:00
2018-06-05 15:51:21 -07:00
2018-06-08 17:21:52 -07:00
2018-06-08 11:02:21 -07:00
2018-06-06 11:15:43 -07:00
2018-06-11 18:19:45 -07:00
2018-06-12 14:05:16 +10:00
2018-06-08 10:31:52 -07:00
2018-06-11 07:17:36 -07:00
2018-06-08 10:28:24 +02:00
2018-06-10 13:01:12 -07:00
2018-06-07 10:23:33 -07:00
2018-06-11 12:09:19 -07:00
2018-06-05 16:20:22 -07:00
2018-06-05 16:14:12 -07:00
2018-06-05 16:26:47 -04:00
2018-06-09 10:32:39 -07:00
2018-06-07 13:04:07 -07:00
2018-06-11 07:20:17 -07:00
2018-06-11 12:22:12 -07:00
2018-06-06 12:05:19 +02:00
2018-06-04 13:57:43 -07:00
2018-06-05 09:20:27 -06:00
2018-06-07 10:23:33 -07:00
2018-06-07 13:35:59 -07:00
2018-06-09 12:01:36 -07:00
2018-06-11 17:49:09 -07:00
2018-06-10 13:01:12 -07:00
2018-06-11 07:20:17 -07:00
2018-06-07 12:45:58 -07:00
2018-06-05 16:11:43 -07:00
2018-06-11 17:49:09 -07:00
2018-06-10 19:25:23 -07:00
2018-05-31 12:43:14 +02:00
2018-06-05 16:20:22 -07:00
2018-06-08 15:16:44 -07:00
2018-06-08 13:36:19 -07:00
2018-06-11 18:19:45 -07:00
2018-06-04 10:58:12 -07:00
2018-06-07 12:45:58 -07:00
2018-06-06 18:39:49 -07:00
2018-06-09 12:06:24 -07:00
2018-06-11 07:20:17 -07:00
2018-06-07 12:34:37 -07:00
2018-06-09 12:11:09 -07:00
2018-06-04 07:13:40 +01:00
2018-06-08 13:08:57 -07:00
2018-06-11 18:15:22 -07:00
2018-06-04 12:35:03 -07:00
2018-06-11 07:20:17 -07:00
2018-06-10 13:01:12 -07:00
2018-06-10 13:01:12 -07:00
2018-06-11 18:19:45 -07:00
2018-06-05 16:20:22 -07:00
2018-06-05 09:38:39 -07:00
2018-06-11 07:23:19 -07:00
2018-06-10 13:01:12 -07:00
2018-06-06 17:27:14 -07:00
2018-06-07 10:23:33 -07:00
2018-06-06 17:27:14 -07:00
2018-06-04 13:57:43 -07:00
2018-06-06 18:39:49 -07:00
2018-06-11 07:23:19 -07:00
2018-06-05 16:20:22 -07:00
2018-06-07 12:41:43 +02:00
2018-06-08 09:24:54 -07:00
2018-06-06 17:27:14 -07:00