summaryrefslogtreecommitdiffstats
path: root/cf-fsi-test.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-06-07 11:26:46 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-06-07 11:26:46 +1000
commit2db7a8dadc060547f24a991e1fe2c500d3cc7c14 (patch)
tree4a9f62de8c6174352cd221544f883515099ca430 /cf-fsi-test.c
parent39c7aeb82ed5d850cd55065eaedfb8c0cccef46f (diff)
downloadcf-fsi-2db7a8dadc060547f24a991e1fe2c500d3cc7c14.tar.gz
cf-fsi-2db7a8dadc060547f24a991e1fe2c500d3cc7c14.zip
Fix problems with GPIO usage
The "value" register doesn't return the last data written when read but returns the value sampled on the line, which may or may not be the value written for an output GPIO. For example it can be delayed by the synchronizers. So whenever the CF reads the value to adjust its caches it needs to use the "data read" register intead, otherwise it can clobber values set by Linux when doing handshaking. Also don't use %d0 for DTRA, use %d1 to avoid interrupts clobber and do read/modify/write cycles on it as it's not a permanent cached value, just a temporary. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'cf-fsi-test.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud