All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suman Anna <s-anna@ti.com>
To: Ohad Ben-Cohen <ohad@wizery.com>, Kevin Hilman <khilman@linaro.org>
Cc: Dave Gerlach <d-gerlach@ti.com>,
	linux-arm <linux-arm-kernel@lists.infradead.org>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	Paul Walmsley <paul@pwsan.com>, Tony Lindgren <tony@atomide.com>,
	Tero Kristo <t-kristo@ti.com>, Nishanth Menon <nm@ti.com>,
	Russ Dill <russ.dill@ti.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Daniel Mack <daniel@zonque.org>,
	Benoit Cousson <bcousson@baylibre.com>
Subject: Re: [PATCH v4 10/11] ARM: OMAP2+: AM33XX: Basic suspend resume support
Date: Tue, 9 Sep 2014 14:59:53 -0500	[thread overview]
Message-ID: <540F5C39.7040201@ti.com> (raw)
In-Reply-To: <CAK=WgbYwGcSCxHfa880up1qKTroS=mi8UAf_Qh6Wz9n5x4D9rw@mail.gmail.com>

Hi Ohad,

On 09/09/2014 05:31 AM, Ohad Ben-Cohen wrote:
> On Tue, Sep 9, 2014 at 1:30 AM, Kevin Hilman <khilman@linaro.org> wrote:
>> To me, it's not terribly clear how you made the split between this PM
>> core code an the remoteproc code.  In the changelog for the remoteproc
>> patch, it states it's to "load the firmware for and boot the wkup_m3".
>> But, while parts of the IPC are here in pm33xx.c, parts of the IPC are
>> also inside the remoteproc driver, so I'm quite curious if that's OK
>> with the remoteproc maintainers.  Either way, please make it clearer how
>> and why you made the split, and please isolate the wkup_m3 IPC/protocol
>> from this code.  Think of people wanting to rework/extend the wkup_m3
>> firmware.  They shouldn't be messing around in here, but rather inside a
>> driver specificaly for the wkup_m3.
> 
> I haven't looked at the code very thoroughly yet, but generally a
> remoteproc driver should only implement the three start/stop/kick
> rproc_ops, and then register them via the remoteproc framework.
> Exposing additional API directly from that driver isn't something we
> immediately want to accept.
> 
> If relevant, we would generally prefer to extend remoteproc instead,
> so other platform-specific drivers could utilize that functionality as
> well. Or rpmsg - if we're missing some IPC functionality.

The WkupM3 cannot access DDR, and so we don't intend to use rpmsg. The
IPC with wkup_m3 is usually one of the last steps for putting the SoC
into a desired low-power state either during suspend or cpuidle, and the
communication uses a bank of fixed registers. The .kick is specific
to virtio-based communication, and so this is not gonna be used.

If you can take a closer look at the wkup_m3 remoteproc driver and give
your comments, then we can plan on the next steps. Especially as there
are also pieces pertaining to the PM layer knowing the WkupM3 has been
loaded and booted. There are already some pending comments on code
fragments from Santosh and myself, but let us know your inputs on the
integration aspects on PM, remoteproc and IPC with WkupM3.

regards
Suman

WARNING: multiple messages have this Message-ID (diff)
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, 9 Sep 2014 14:59:53 -0500	[thread overview]
Message-ID: <540F5C39.7040201@ti.com> (raw)
In-Reply-To: <CAK=WgbYwGcSCxHfa880up1qKTroS=mi8UAf_Qh6Wz9n5x4D9rw@mail.gmail.com>

Hi Ohad,

On 09/09/2014 05:31 AM, Ohad Ben-Cohen wrote:
> On Tue, Sep 9, 2014 at 1:30 AM, Kevin Hilman <khilman@linaro.org> wrote:
>> To me, it's not terribly clear how you made the split between this PM
>> core code an the remoteproc code.  In the changelog for the remoteproc
>> patch, it states it's to "load the firmware for and boot the wkup_m3".
>> But, while parts of the IPC are here in pm33xx.c, parts of the IPC are
>> also inside the remoteproc driver, so I'm quite curious if that's OK
>> with the remoteproc maintainers.  Either way, please make it clearer how
>> and why you made the split, and please isolate the wkup_m3 IPC/protocol
>> from this code.  Think of people wanting to rework/extend the wkup_m3
>> firmware.  They shouldn't be messing around in here, but rather inside a
>> driver specificaly for the wkup_m3.
> 
> I haven't looked at the code very thoroughly yet, but generally a
> remoteproc driver should only implement the three start/stop/kick
> rproc_ops, and then register them via the remoteproc framework.
> Exposing additional API directly from that driver isn't something we
> immediately want to accept.
> 
> If relevant, we would generally prefer to extend remoteproc instead,
> so other platform-specific drivers could utilize that functionality as
> well. Or rpmsg - if we're missing some IPC functionality.

The WkupM3 cannot access DDR, and so we don't intend to use rpmsg. The
IPC with wkup_m3 is usually one of the last steps for putting the SoC
into a desired low-power state either during suspend or cpuidle, and the
communication uses a bank of fixed registers. The .kick is specific
to virtio-based communication, and so this is not gonna be used.

If you can take a closer look at the wkup_m3 remoteproc driver and give
your comments, then we can plan on the next steps. Especially as there
are also pieces pertaining to the PM layer knowing the WkupM3 has been
loaded and booted. There are already some pending comments on code
fragments from Santosh and myself, but let us know your inputs on the
integration aspects on PM, remoteproc and IPC with WkupM3.

regards
Suman

  reply	other threads:[~2014-09-09 20:00 UTC|newest]

Thread overview: 106+ 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 ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 01/11] ARM: omap: edma: add suspend suspend/resume hooks Dave Gerlach
2014-07-11  2:55   ` Dave Gerlach
2014-07-14 11:05   ` Tony Lindgren
2014-07-14 11:05     ` Tony Lindgren
2014-07-14 17:47     ` Dave Gerlach
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-11  2:55   ` Dave Gerlach
2014-07-14 11:12   ` Tony Lindgren
2014-07-14 11:12     ` Tony Lindgren
2014-07-14 17:42     ` Dave Gerlach
2014-07-14 17:42       ` Dave Gerlach
2014-07-15  6:38       ` Tony Lindgren
2014-07-15  6:38         ` Tony Lindgren
2014-07-16  2:44         ` Dave Gerlach
2014-07-16  2:44           ` Dave Gerlach
2014-07-16  8:33           ` Tony Lindgren
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-11  2:55   ` Dave Gerlach
2014-07-14 11:15   ` Tony Lindgren
2014-07-14 11:15     ` Tony Lindgren
2014-07-14 14:37     ` Santosh Shilimkar
2014-07-14 14:37       ` Santosh Shilimkar
2014-07-14 17:42       ` Dave Gerlach
2014-07-14 17:42         ` Dave Gerlach
2014-07-15  6:48         ` Tony Lindgren
2014-07-15  6:48           ` Tony Lindgren
2014-07-15 19:10           ` Dave Gerlach
2014-07-15 19:10             ` Dave Gerlach
2014-07-16 20:17           ` Dave Gerlach
2014-07-16 20:17             ` Dave Gerlach
2014-07-17  8:16             ` Tony Lindgren
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-11  2:55   ` Dave Gerlach
2014-07-14 18:48   ` Suman Anna
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-11  2:55   ` Dave Gerlach
2014-07-14 14:41   ` Santosh Shilimkar
2014-07-14 14:41     ` [PATCH v4 05/11] Documentation: dt: add ti, am3353_wkup_m3 bindings Santosh Shilimkar
2014-07-14 16:33     ` [PATCH v4 05/11] Documentation: dt: add ti,am3353_wkup_m3 bindings Suman Anna
2014-07-14 16:33       ` [PATCH v4 05/11] Documentation: dt: add ti, am3353_wkup_m3 bindings Suman Anna
2014-07-14 17:45       ` [PATCH v4 05/11] Documentation: dt: add ti,am3353_wkup_m3 bindings Dave Gerlach
2014-07-14 17:45         ` [PATCH v4 05/11] Documentation: dt: add ti, am3353_wkup_m3 bindings Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 06/11] remoteproc: wkup_m3: Add wkup_m3 remote proc driver Dave Gerlach
2014-07-11  2:55   ` Dave Gerlach
2014-07-14 14:54   ` Santosh Shilimkar
2014-07-14 14:54     ` Santosh Shilimkar
2014-07-14 17:43     ` Dave Gerlach
2014-07-14 17:43       ` Dave Gerlach
2014-07-14 19:07     ` Suman Anna
2014-07-14 19:07       ` Suman Anna
2014-07-14 21:09       ` Dave Gerlach
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   ` 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   ` 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   ` Dave Gerlach
2014-07-11  2:55 ` [PATCH v4 10/11] ARM: OMAP2+: AM33XX: Basic suspend resume support Dave Gerlach
2014-07-11  2:55   ` Dave Gerlach
2014-09-08 22:30   ` Kevin Hilman
2014-09-08 22:30     ` Kevin Hilman
2014-09-09 10:31     ` Ohad Ben-Cohen
2014-09-09 10:31       ` Ohad Ben-Cohen
2014-09-09 19:59       ` Suman Anna [this message]
2014-09-09 19:59         ` Suman Anna
2014-09-09 20:28         ` Dave Gerlach
2014-09-09 20:28           ` Dave Gerlach
2014-09-09 21:10           ` Kevin Hilman
2014-09-09 21:10             ` Kevin Hilman
2014-09-10 21:19             ` Dave Gerlach
2014-09-10 21:19               ` Dave Gerlach
2014-09-16 15:08             ` Ohad Ben-Cohen
2014-09-16 15:08               ` Ohad Ben-Cohen
2014-09-16 16:14               ` Suman Anna
2014-09-16 16:14                 ` Suman Anna
2014-09-17 13:37                 ` Ohad Ben-Cohen
2014-09-17 13:37                   ` Ohad Ben-Cohen
2014-09-25 19:42                   ` Dave Gerlach
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-11  2:55   ` Dave Gerlach
2014-07-14 11:21   ` Tony Lindgren
2014-07-14 11:21     ` Tony Lindgren
2014-07-14 17:46     ` Dave Gerlach
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  7:59   ` Daniel Mack
2014-07-11 17:24   ` Dave Gerlach
2014-07-11 17:24     ` Dave Gerlach
2014-07-11 15:30 ` Andre Heider
2014-07-11 15:30   ` Andre Heider
2014-07-11 17:31   ` Dave Gerlach
2014-07-11 17:31     ` Dave Gerlach
2014-07-14  9:37     ` Andre Heider
2014-07-14  9:37       ` Andre Heider
2014-07-14 11:24 ` Tony Lindgren
2014-07-14 11:24   ` Tony Lindgren
2014-07-14 17:47   ` Dave Gerlach
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=540F5C39.7040201@ti.com \
    --to=s-anna@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=d-gerlach@ti.com \
    --cc=daniel@zonque.org \
    --cc=khilman@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=ohad@wizery.com \
    --cc=paul@pwsan.com \
    --cc=russ.dill@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.