Skip to content

Commit

Permalink
ARM: mvebu: completely disable hardware I/O coherency
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Thomas Petazzoni authored and Andrew Lunn committed Jan 17, 2015
1 parent eaa27f3 commit 8f1e8ee
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion arch/arm/mach-mvebu/coherency.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 8f1e8ee

Please sign in to comment.