remoteproc: add a rproc ops for performing address translation
authorSuman Anna <s-anna@ti.com>
Fri, 22 May 2015 20:45:28 +0000 (15:45 -0500)
committerOhad Ben-Cohen <ohad@wizery.com>
Wed, 17 Jun 2015 06:57:12 +0000 (09:57 +0300)
commita01f7cd657c95941079d548ef7fbf0cc370c1259
tree6e4934670eb2b157dd1e2049180f3d0f8c046aae
parentfec47d863587c272d6fbf4e50066209c953d5e60
remoteproc: add a rproc ops for performing address translation

The rproc_da_to_va API is currently used to perform any device to
kernel address translations to meet the different needs of the remoteproc
core/drivers (eg: loading). The functionality is achieved within the
remoteproc core, and is limited only for carveouts allocated within the
core.

A new rproc ops, da_to_va, is added to provide flexibility to platform
implementations to perform the address translation themselves when the
above conditions cannot be met by the implementations. The rproc_da_to_va()
API is extended to invoke this ops if present, and fallback to regular
processing if the platform implementation cannot provide the translation.
This will allow any remoteproc implementations to translate addresses for
dedicated memories like internal memories.

While at this, also update the rproc_da_to_va() documentation since it
is an exported function.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
drivers/remoteproc/remoteproc_core.c
include/linux/remoteproc.h