Thread (20 messages) 20 messages, 3 authors, 2015-03-13

[PATCH v3 2/2] remoteproc: add support to handle internal memories

From: Suman Anna <hidden>
Date: 2015-02-12 20:55:25
Also in: linux-omap, lkml

Hi Ohad,

On 02/12/2015 03:09 AM, Ohad Ben-Cohen wrote:
On Wed, Feb 11, 2015 at 10:57 PM, Tony Lindgren [off-list ref] wrote:
quoted
quoted
quoted
+static int rproc_handle_intmem(struct rproc *rproc, struct fw_rsc_intmem *rsc,
+                              int offset, int avail)
+{
...
quoted
+       va = (__force void *)ioremap_nocache(rsc->pa, rsc->len);
Back in the days when we developed remoteproc there was a tremendous
effort to move away from ioremap when not strictly needed.
The use of ioremap in general is just fine for drivers as long
as they access a dedicated area to the specific device. Accessing
random registers and memory in the SoC is what I'm worried about.
Yes, the proposed interface essentially allows exactly this random
access, since the parameters to ioremap would be provided from the
user space (specifically from the resource table contained within the
firmware of the remote processor).
My original motivation was that it would only need to be added on
firmwares requiring support for loading into internal memories,
otherwise, these are something left to be managed by the software
running on the remote processor completely, and MPU will not even touch
them.

So, let me know if this is a NAK. If so, we have two options - one to go
the sram node model where each of them have to be defined separately,
and have a specific property in the rproc nodes to be able to get the
gen_pool handles. The other one is simply to define these as <reg> and
use devm_ioremap_resource() (so use DT for defining the regions instead
of a resource table entry).

regards
Suman
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help