On Wed, Jun 13, 2018 at 11:11:01PM +1000, Benjamin Herrenschmidt wrote:
Actually ... the stuff in lib/dma-direct.c seems to be just it, no ?
There's no cache flushing and there's no architecture hooks that I can
see other than the AMD security stuff which is probably fine.
Or am I missing something ?
You are missing the __phys_to_dma arch hook that allows architectures
to adjust the dma address. Various systems have offsets, or even
multiple banks with different offsets there. Most of them don't
use the dma-direct code yet (working on it), but there are a few
examples in the tree already.