diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-05-15 09:14:43 +0300 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-06-12 07:05:16 +0300 |
commit | 4e56828a5db19e2de8f8dc464c6df2e7e9ff4e13 (patch) | |
tree | acc4c44cb01969f50279d7367cf57870cfefad6f /lib | |
parent | 0e82e5c1fad79ffe9d316296c7a4c1de539d0c48 (diff) | |
download | linux-4e56828a5db19e2de8f8dc464c6df2e7e9ff4e13.tar.xz |
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.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions