Commit 1f20756ce695ee56c2899e95757497d9c1cc8bbb
Committed by
Greg Kroah-Hartman
1 parent
7b915d382a
ARM: mvebu: completely disable hardware I/O coherency
commit 8f1e8ee28660018a935c7576b9af8ffe1feab54c upstream. 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> Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 6 additions and 1 deletions Side-by-side Diff
arch/arm/mach-mvebu/coherency.c
... | ... | @@ -398,9 +398,14 @@ |
398 | 398 | return type; |
399 | 399 | } |
400 | 400 | |
401 | +/* | |
402 | + * As a precaution, we currently completely disable hardware I/O | |
403 | + * coherency, until enough testing is done with automatic I/O | |
404 | + * synchronization barriers to validate that it is a proper solution. | |
405 | + */ | |
401 | 406 | int coherency_available(void) |
402 | 407 | { |
403 | - return coherency_type() != COHERENCY_FABRIC_TYPE_NONE; | |
408 | + return false; | |
404 | 409 | } |
405 | 410 | |
406 | 411 | int __init coherency_init(void) |