Skip to content

Commit 8f1e8ee

Browse files
tpetazzonilunn
authored andcommitted
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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: <stable@vger.kernel.org> # v3.8+ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
1 parent eaa27f3 commit 8f1e8ee

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

arch/arm/mach-mvebu/coherency.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,14 @@ static int coherency_type(void)
246246
return type;
247247
}
248248

249+
/*
250+
* As a precaution, we currently completely disable hardware I/O
251+
* coherency, until enough testing is done with automatic I/O
252+
* synchronization barriers to validate that it is a proper solution.
253+
*/
249254
int coherency_available(void)
250255
{
251-
return coherency_type() != COHERENCY_FABRIC_TYPE_NONE;
256+
return false;
252257
}
253258

254259
int __init coherency_init(void)

0 commit comments

Comments
 (0)