[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d93c4c96-e0b9-59cd-6098-92684bc2360b@lechnology.com>
Date: Mon, 26 Nov 2018 15:29:16 -0600
From: David Lechner <david@...hnology.com>
To: Roger Quadros <rogerq@...com>, ohad@...ery.com,
bjorn.andersson@...aro.org
Cc: tony@...mide.com, robh+dt@...nel.org, bcousson@...libre.com,
ssantosh@...nel.org, s-anna@...com, nsekhar@...com,
t-kristo@...com, nsaulnier@...com, jreeder@...com,
m-karicheri2@...com, woods.technical@...il.com,
linux-omap@...r.kernel.org, linux-remoteproc@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH 01/16] remoteproc: Extend rproc_da_to_va() API with a
flags parameter
On 11/26/18 1:52 AM, Roger Quadros wrote:
> From: Suman Anna <s-anna@...com>
>
> 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/platform drivers (eg: loading). The function also
> invokes the da_to_va ops, if present, to allow the remoteproc
> platform drivers to provide address translation. However, not all
> platform implementations have linear address spaces, and may need
> an additional parameter to be able to perform proper translations.
>
> The rproc_da_to_va() API and the rproc .da_to_va ops have therefore
> been expanded to take in an additional flags field enabling some
> remoteproc implementations (like the TI PRUSS remoteproc driver)
> to use these flags. Also, define some semantics for this flags
> argument as this can vary from one implementation to another. A
> new flags type is encoded into the upper 16 bits along side the
> actual value in the lower 16-bits for the flags argument, to
> allow different individual implementations to have better
> flexibility in interpreting the flags as per their needs.
This seems like an overly complex solution for a rather simple
problem. Instead of passing all sorts of flags, could we just add
a parameter named "page" to da_to_va() that indicates the memory
page of the address in the remote processor?
Or perhaps there is some other use for all of these flags that I
am not aware of?
Powered by blists - more mailing lists