On Thu, 10 Sep 2020 at 09:23, Sibi Sankar <sibis@xxxxxxxxxxxxxx> wrote: > > On 2020-08-25 23:23, Bjorn Andersson wrote: > > On Tue 25 Aug 02:20 CDT 2020, Stephen Boyd wrote: > >> Quoting Bjorn Andersson (2020-08-24 09:42:12) > >> > On Fri 21 Aug 14:41 PDT 2020, Stephen Boyd wrote: > > [..] > >> > > I find it odd that this is modeled as a power domain instead of some > >> > > Qualcomm specific message that the remoteproc driver sends to AOSS. Is > >> > > there some sort of benefit the driver gets from using the power domain > >> > > APIs for this vs. using a custom API? > >> > > >> > We need to send "up" and "down" notifications and this needs to happen > >> > at the same time as other standard resources are enabled/disabled. > >> > > >> > Further more, at the time the all resources handled by the downstream > >> > driver was either power-domains (per above understanding) or clocks, so > >> > it made sense to me not to spin up a custom API. > >> > > >> > >> So the benefit is not spinning up a custom API? I'm not Ulf, but it > >> looks like this is hard to rationalize about as a power domain. It > >> doesn't have any benefit to model it this way besides to make it > >> possible to turn on with other power domains. > >> > >> This modem remoteproc drivers isn't SoC agnostic anyway, it relies on > >> SMEM APIs, so standing up another small qmp_remoteproc_booted() and > >> qmp_remoteproc_shutdown() API would avoid adding a genpd flag here > >> that > >> probably will never be used outside of this corner-case. There is also > >> some get/put EPROBE_DEFER sort of logic to implement, but otherwise it > >> would be possible to do this outside of power domains, and that seems > >> better given that this isn't really a power domain to start with. > > > > In later platforms a few new users of the AOSS communication interface > > is introduced that certainly doesn't fit any existing API/framework in > > the kernel. So the plan was to pretty much expose qmp_send() to these > > drivers. > > > > My worry with using this interface is that we'll probably have to come > > up with some DT binding pieces and probably we'll end up adding yet > > another piece of hard coded information in the remoteproc drivers. > > > > But I'm not against us doing this work in favor of not having to > > introduce a one-off for this corner case. > > Bjorn/Stephen, > > So the consensus is to stop modelling > aoss load_state as pds and expose qmp_send > to drivers? Would that mean qmp_send would have to be called from generic drivers? Then, please no. We want to keep drivers portable. Kind regards Uffe