omapl138: VirtQueue: Fixup mapVAtoPA() and mapPAtoVA()
authorSuman Anna <s-anna@ti.com>
Tue, 26 Mar 2019 23:00:54 +0000 (18:00 -0500)
committerSam Nelson <sam.nelson@ti.com>
Tue, 21 May 2019 19:56:08 +0000 (15:56 -0400)
commit75d8759d614bcf2d8ea9d0476f9d933abd79f695
tree6ad592b93b0d72913cb0141f1ad60316cdb6bb1e
parent3c79f85abfbf10d4de59765f27e5d658c646d1bc
omapl138: VirtQueue: Fixup mapVAtoPA() and mapPAtoVA()

The mapVAtoPA() and mapPAtoVA() functions used in the OMAPL138
VirtQueue code uses a hard-coded address translating logic that
caters to only a specific set of images. The DSPs on OMAPL138
do not have MMUs, so the addresses seen in the vring control
structures should be identical between the processor view and
the actual DDR address. The only case where this might not be
true is if the MPAX is being used to perform some address
translations, but this is not the case today.

So, fixup these functions to provide a one-to-one exact translation.
This fixes up issues with latest upstream kernels (v5.1+) where
the virtio buffers are no longer allocated from the same remoteproc
device DMA pool, and so can be allocated anywhere in DDR memory
(from the default Linux DMA/CMA pool).

Signed-off-by: Suman Anna <s-anna@ti.com>
packages/ti/ipc/family/omapl138/VirtQueue.c