From: s-anna@ti.com (Suman Anna)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 10/11] ARM: OMAP2+: AM33XX: Basic suspend resume support
Date: Tue, 16 Sep 2014 11:14:19 -0500 [thread overview]
Message-ID: <541861DB.5000706@ti.com> (raw)
In-Reply-To: <CAK=Wgbas+CqgYJ35Sao8eCkMPujpVNbWW-aikUQExScaqYfETw@mail.gmail.com>
Hi Ohad,
On 09/16/2014 10:08 AM, Ohad Ben-Cohen wrote:
> On Wed, Sep 10, 2014 at 12:10 AM, Kevin Hilman <khilman@kernel.org> wrote:
>> What I think you need to do (and what I've recommended at least once in
>> earlier reviews) put all the (non-rproc) wkup_m3 IPC into into one
>> driver and create a well-described, well-documented API that the
>> platform PM code will use.
>>
>> IMO, the current "split" is very difficult to read/understand, which
>> means it will even more difficult to maintain.
>
> I strongly agree.
>
> A remoteproc driver should generally only register its
> hardware-specific implementation of the rproc_ops via the remoteproc
> framework. It is not expected to expose public API of its own - that's
> why we have the generic remoteproc layer for. It makes perfect sense
> not to use rpmsg for communications if it's not lightweight enough,
> but exposing a new set of IPC API should take place in a separate
> well-documented driver.
>
> In addition, the suggested remoteproc driver seems to act both as a
> low-level hardware-specific driver that plugs into remoteproc (by
> registering rproc_ops via the remoteproc framework), and also as a
> high-level driver that utilizes the remoteproc public API (by calling
> rproc_boot). This alone calls for scrutinizing the design as this is
> not very intuitive.
The current remoteproc infrastructure automatically calls rproc_boot
only as part of the rpmsg/virtio stack (in remoteproc_virtio.c), but
since the WkupM3 does not use rpmsg, there is no automatic booting of
the WkupM3 processor. This is the reason why rproc_boot is called as
part of the WkupM3 driver probe sequence. What are your concerns here,
and if you think this is not the right place do invoke rproc_boot, where
do you expect it to be called? Also do note that, there is no way
at present to retrieve the struct rproc for a given remote processor, to
be able to invoke the rproc_boot from a different layer.
> At least for the remoteproc part: if you could provide a simple and
> straight-forward remoteproc driver that just implements the rproc_ops,
> this could be merged very quickly. The rest of the code most probably
> belongs in a different entity, just like Kevin suggested.
>
Splitting this would still require some kind of notifier from remoteproc
for the other layers for them to know that the WkupM3 remote processor
has been loaded and booted successfully. This is also done as part of
the WkupM3 driver at the moment.
regards
Suman
next prev parent reply other threads:[~2014-09-16 16:14 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-11 2:55 [PATCH v4 00/11] ARM: OMAP2+: AM33XX: Add suspend-resume support Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 01/11] ARM: omap: edma: add suspend suspend/resume hooks Dave Gerlach
2014-07-14 11:05 ` Tony Lindgren
2014-07-14 17:47 ` Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 02/11] memory: emif: Move EMIF register defines to include/linux/ Dave Gerlach
2014-07-14 11:12 ` Tony Lindgren
2014-07-14 17:42 ` Dave Gerlach
2014-07-15 6:38 ` Tony Lindgren
2014-07-16 2:44 ` Dave Gerlach
2014-07-16 8:33 ` Tony Lindgren
2014-07-11 2:55 ` [PATCH v4 03/11] ARM: OMAP2+: timer: Add suspend-resume callbacks for clkevent device Dave Gerlach
2014-07-14 11:15 ` Tony Lindgren
2014-07-14 14:37 ` Santosh Shilimkar
2014-07-14 17:42 ` Dave Gerlach
2014-07-15 6:48 ` Tony Lindgren
2014-07-15 19:10 ` Dave Gerlach
2014-07-16 20:17 ` Dave Gerlach
2014-07-17 8:16 ` Tony Lindgren
2014-07-11 2:55 ` [PATCH v4 04/11] ARM: OMAP2+: Use pdata-quirks for wkup_m3 deassert_hardreset Dave Gerlach
2014-07-14 18:48 ` Suman Anna
2014-07-11 2:55 ` [PATCH v4 05/11] Documentation: dt: add ti,am3353_wkup_m3 bindings Dave Gerlach
2014-07-14 14:41 ` [PATCH v4 05/11] Documentation: dt: add ti, am3353_wkup_m3 bindings Santosh Shilimkar
2014-07-14 16:33 ` Suman Anna
2014-07-14 17:45 ` Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 06/11] remoteproc: wkup_m3: Add wkup_m3 remote proc driver Dave Gerlach
2014-07-14 14:54 ` Santosh Shilimkar
2014-07-14 17:43 ` Dave Gerlach
2014-07-14 19:07 ` Suman Anna
2014-07-14 21:09 ` Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 07/11] ARM: dts: am33xx: Update wkup_m3 node Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 08/11] ARM: OMAP2+: AM33XX: Reserve memory to comply with EMIF spec Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 09/11] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 10/11] ARM: OMAP2+: AM33XX: Basic suspend resume support Dave Gerlach
2014-09-08 22:30 ` Kevin Hilman
2014-09-09 10:31 ` Ohad Ben-Cohen
2014-09-09 19:59 ` Suman Anna
2014-09-09 20:28 ` Dave Gerlach
2014-09-09 21:10 ` Kevin Hilman
2014-09-10 21:19 ` Dave Gerlach
2014-09-16 15:08 ` Ohad Ben-Cohen
2014-09-16 16:14 ` Suman Anna [this message]
2014-09-17 13:37 ` Ohad Ben-Cohen
2014-09-25 19:42 ` Dave Gerlach
2014-07-11 2:55 ` [PATCH v4 11/11] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Dave Gerlach
2014-07-14 11:21 ` Tony Lindgren
2014-07-14 17:46 ` Dave Gerlach
2014-07-11 7:59 ` [PATCH v4 00/11] ARM: OMAP2+: AM33XX: Add suspend-resume support Daniel Mack
2014-07-11 17:24 ` Dave Gerlach
2014-07-11 15:30 ` Andre Heider
2014-07-11 17:31 ` Dave Gerlach
2014-07-14 9:37 ` Andre Heider
2014-07-14 11:24 ` Tony Lindgren
2014-07-14 17:47 ` Dave Gerlach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=541861DB.5000706@ti.com \
--to=s-anna@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).