Commit 8f1e8ee2 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Andrew Lunn

ARM: mvebu: completely disable hardware I/O coherency

The current hardware I/O coherency is known to cause problems with DMA
coherent buffers, as it still requires explicit I/O synchronization
barriers, which is not compatible with the semantics expected by the
Linux DMA coherent buffers API.

So, in order to have enough time to validate a new solution based on
automatic I/O synchronization barriers, this commit disables hardware
I/O coherency entirely. Future patches will re-enable it.
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: <stable@vger.kernel.org> # v3.8+
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
parent eaa27f34
...@@ -246,9 +246,14 @@ static int coherency_type(void) ...@@ -246,9 +246,14 @@ static int coherency_type(void)
return type; return type;
} }
/*
* As a precaution, we currently completely disable hardware I/O
* coherency, until enough testing is done with automatic I/O
* synchronization barriers to validate that it is a proper solution.
*/
int coherency_available(void) int coherency_available(void)
{ {
return coherency_type() != COHERENCY_FABRIC_TYPE_NONE; return false;
} }
int __init coherency_init(void) int __init coherency_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment