From: Tony Lindgren <tony@atomide.com>
To: Dave Gerlach <d-gerlach@ti.com>
Cc: balbi@ti.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
devicetree@vger.kernel.org,
Benoit Cousson <bcousson@baylibre.com>,
Ohad Ben-Cohen <ohad@wizery.com>, Suman Anna <s-anna@ti.com>,
Arnd Bergmann <arnd@arndb.de>, Kevin Hilman <khilman@linaro.org>
Subject: Re: [PATCH 2/3] soc: ti: Add wkup_m3_ipc driver
Date: Thu, 26 Feb 2015 14:08:17 -0800 [thread overview]
Message-ID: <20150226220817.GR11056@atomide.com> (raw)
In-Reply-To: <54EF7B90.3050702@ti.com>
* Dave Gerlach <d-gerlach@ti.com> [150226 12:05]:
> Tony,
> On 01/05/2015 04:51 PM, Tony Lindgren wrote:
> > * Dave Gerlach <d-gerlach@ti.com> [150105 14:51]:
> >> Felipe,
> >> On 01/02/2015 02:16 PM, Felipe Balbi wrote:
> >>> On Fri, Jan 02, 2015 at 02:00:16PM -0600, Dave Gerlach wrote:
> >>>> Introduce a wkup_m3_ipc driver to handle communication between the MPU
> >>>> and Cortex M3 wkup_m3 present on am335x.
> >>>>
> >>>> This driver is responsible for actually booting the wkup_m3_rproc and
> >>>> also handling all IPC which is done using the IPC registers in the control
> >>>> module, a mailbox, and a separate interrupt back from the wkup_m3. A small
> >>>> API is exposed for executing specific power commands, which include
> >>>> configuring for low power mode, request a transition to a low power mode,
> >>>> and status info on a previous transition.
> >>>>
> >>>> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> >>>> ---
> >>>> drivers/soc/ti/Kconfig | 11 ++
> >>>> drivers/soc/ti/Makefile | 1 +
> >>>> drivers/soc/ti/wkup_m3_ipc.c | 451 +++++++++++++++++++++++++++++++++++++++++++
> >>>> include/linux/wkup_m3_ipc.h | 33 ++++
> >>>> 4 files changed, 496 insertions(+)
> >>>> create mode 100644 drivers/soc/ti/wkup_m3_ipc.c
> >>>> create mode 100644 include/linux/wkup_m3_ipc.h
> >>>>
> >>>> diff --git a/drivers/soc/ti/Kconfig b/drivers/soc/ti/Kconfig
> >>>> index 7266b21..61cda85 100644
> >>>> --- a/drivers/soc/ti/Kconfig
> >>>> +++ b/drivers/soc/ti/Kconfig
> >>>> @@ -28,4 +28,15 @@ config KEYSTONE_NAVIGATOR_DMA
> >>>>
> >>>> If unsure, say N.
> >>>>
> >>>> +config WKUP_M3_IPC
> >>>> + bool "TI AM33XX Wkup-M3 IPC Driver"
> >>>
> >>> tristate ?
> >>
> >> If we want to allow this and the rproc driver to be built as modules than we can
> >> change this.
> >
> > Yes please, the PM is never needed early, and should be optional.
> > And doing that will make it a lot easier for you to do further work
> > on your driver ;)
> >
> > And it will also make it easier to add support for other SoCs as
> > it seems the same M3 is used at least on am437x.
> >
>
> I can not build the PM code as a module at this time due to many mach-omap
> function calls it uses which are not exported, so I need handles to all five
> functions in this driver used in pm33xx to call from built-in PM code. Do you
> have a preference on how these function handles get passed?
OK, you can pass the function pointers in platform_data. Care to
list those functions? That might allow us to make other omap PM
code into loadable modules in drivers/* :)
> I currently have added a pdata-quirks implementation that passes a function to
> the wkup_m3_ipc driver through it's pdata which it then calls at probe to pass a
> struct containing all used function pointers to the pm code that were previously
> called directly. Is that what you would prefer or something else? I had also
> looked at making the struct of function pointers in the driver global and just
> picking it up from the pm code with an extern declaration or even putting a bus
> notifier in the PM code and watching for the wkup_m3_ipc driver to be bound.
Yeah pdata-quirks.c is probably OK for populating the function pointers.
We may have already some place in the PM code to pass it too.
> Thought I would see what you prefer and possibly avoid an unnecessary re-spin.
Sounds like we're getting close to getting am335x/am437x PM code working :)
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] soc: ti: Add wkup_m3_ipc driver
Date: Thu, 26 Feb 2015 14:08:17 -0800 [thread overview]
Message-ID: <20150226220817.GR11056@atomide.com> (raw)
In-Reply-To: <54EF7B90.3050702@ti.com>
* Dave Gerlach <d-gerlach@ti.com> [150226 12:05]:
> Tony,
> On 01/05/2015 04:51 PM, Tony Lindgren wrote:
> > * Dave Gerlach <d-gerlach@ti.com> [150105 14:51]:
> >> Felipe,
> >> On 01/02/2015 02:16 PM, Felipe Balbi wrote:
> >>> On Fri, Jan 02, 2015 at 02:00:16PM -0600, Dave Gerlach wrote:
> >>>> Introduce a wkup_m3_ipc driver to handle communication between the MPU
> >>>> and Cortex M3 wkup_m3 present on am335x.
> >>>>
> >>>> This driver is responsible for actually booting the wkup_m3_rproc and
> >>>> also handling all IPC which is done using the IPC registers in the control
> >>>> module, a mailbox, and a separate interrupt back from the wkup_m3. A small
> >>>> API is exposed for executing specific power commands, which include
> >>>> configuring for low power mode, request a transition to a low power mode,
> >>>> and status info on a previous transition.
> >>>>
> >>>> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
> >>>> ---
> >>>> drivers/soc/ti/Kconfig | 11 ++
> >>>> drivers/soc/ti/Makefile | 1 +
> >>>> drivers/soc/ti/wkup_m3_ipc.c | 451 +++++++++++++++++++++++++++++++++++++++++++
> >>>> include/linux/wkup_m3_ipc.h | 33 ++++
> >>>> 4 files changed, 496 insertions(+)
> >>>> create mode 100644 drivers/soc/ti/wkup_m3_ipc.c
> >>>> create mode 100644 include/linux/wkup_m3_ipc.h
> >>>>
> >>>> diff --git a/drivers/soc/ti/Kconfig b/drivers/soc/ti/Kconfig
> >>>> index 7266b21..61cda85 100644
> >>>> --- a/drivers/soc/ti/Kconfig
> >>>> +++ b/drivers/soc/ti/Kconfig
> >>>> @@ -28,4 +28,15 @@ config KEYSTONE_NAVIGATOR_DMA
> >>>>
> >>>> If unsure, say N.
> >>>>
> >>>> +config WKUP_M3_IPC
> >>>> + bool "TI AM33XX Wkup-M3 IPC Driver"
> >>>
> >>> tristate ?
> >>
> >> If we want to allow this and the rproc driver to be built as modules than we can
> >> change this.
> >
> > Yes please, the PM is never needed early, and should be optional.
> > And doing that will make it a lot easier for you to do further work
> > on your driver ;)
> >
> > And it will also make it easier to add support for other SoCs as
> > it seems the same M3 is used at least on am437x.
> >
>
> I can not build the PM code as a module at this time due to many mach-omap
> function calls it uses which are not exported, so I need handles to all five
> functions in this driver used in pm33xx to call from built-in PM code. Do you
> have a preference on how these function handles get passed?
OK, you can pass the function pointers in platform_data. Care to
list those functions? That might allow us to make other omap PM
code into loadable modules in drivers/* :)
> I currently have added a pdata-quirks implementation that passes a function to
> the wkup_m3_ipc driver through it's pdata which it then calls at probe to pass a
> struct containing all used function pointers to the pm code that were previously
> called directly. Is that what you would prefer or something else? I had also
> looked at making the struct of function pointers in the driver global and just
> picking it up from the pm code with an extern declaration or even putting a bus
> notifier in the PM code and watching for the wkup_m3_ipc driver to be bound.
Yeah pdata-quirks.c is probably OK for populating the function pointers.
We may have already some place in the PM code to pass it too.
> Thought I would see what you prefer and possibly avoid an unnecessary re-spin.
Sounds like we're getting close to getting am335x/am437x PM code working :)
Regards,
Tony
next prev parent reply other threads:[~2015-02-26 22:12 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-02 20:00 [PATCH 0/3] drivers: soc: ti: Introduce wkup_m3_ipc driver Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` [PATCH 1/3] Documentation: dt: add ti,am3353-wkup-m3-ipc bindings Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` [PATCH 2/3] soc: ti: Add wkup_m3_ipc driver Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:16 ` Felipe Balbi
2015-01-02 20:16 ` Felipe Balbi
2015-01-02 20:16 ` Felipe Balbi
2015-01-02 20:33 ` Felipe Balbi
2015-01-02 20:33 ` Felipe Balbi
2015-01-02 20:33 ` Felipe Balbi
2015-01-05 22:49 ` Dave Gerlach
2015-01-05 22:49 ` Dave Gerlach
2015-01-05 22:49 ` Dave Gerlach
[not found] ` <54AB14E4.2010607-l0cyMroinI0@public.gmane.org>
2015-01-05 22:51 ` Tony Lindgren
2015-01-05 22:51 ` Tony Lindgren
2015-01-05 22:51 ` Tony Lindgren
2015-02-26 20:01 ` Dave Gerlach
2015-02-26 20:01 ` Dave Gerlach
2015-02-26 20:01 ` Dave Gerlach
2015-02-26 22:08 ` Tony Lindgren [this message]
2015-02-26 22:08 ` Tony Lindgren
[not found] ` <20150226220817.GR11056-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-02-27 17:00 ` Dave Gerlach
2015-02-27 17:00 ` Dave Gerlach
2015-02-27 17:00 ` Dave Gerlach
2015-02-27 17:09 ` Tony Lindgren
2015-02-27 17:09 ` Tony Lindgren
2015-02-27 17:09 ` Tony Lindgren
2015-01-06 2:10 ` Felipe Balbi
2015-01-06 2:10 ` Felipe Balbi
2015-01-06 2:10 ` Felipe Balbi
2015-01-02 20:00 ` [PATCH 3/3] ARM: dts: am33xx: Add wkup_m3_ipc node Dave Gerlach
2015-01-02 20:00 ` Dave Gerlach
2015-01-02 20:00 ` 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=20150226220817.GR11056@atomide.com \
--to=tony@atomide.com \
--cc=arnd@arndb.de \
--cc=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=d-gerlach@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=khilman@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=ohad@wizery.com \
--cc=s-anna@ti.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.