Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -246,9 +246,14 @@ static int coherency_type(void)
	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)
{
	return coherency_type() != COHERENCY_FABRIC_TYPE_NONE;
	return false;
}

int __init coherency_init(void)