From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Kevin Hilman <khilman@linaro.org>
Cc: Dave Gerlach <d-gerlach@ti.com>, Tony Lindgren <tony@atomide.com>,
linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
Paul Walmsley <paul@pwsan.com>,
Vaibhav Bedia <vaibhav.bedia@ti.com>, Suman Anna <s-anna@ti.com>
Subject: Re: [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs
Date: Tue, 13 Aug 2013 11:08:23 -0400 [thread overview]
Message-ID: <520A4BE7.7090603@ti.com> (raw)
In-Reply-To: <87d2phpsu1.fsf@kernel.org>
On Tuesday 13 August 2013 10:29 AM, Kevin Hilman wrote:
> Dave Gerlach <d-gerlach@ti.com> writes:
>
>> On 08/12/2013 02:17 PM, Kevin Hilman wrote:
>>> Dave Gerlach <d-gerlach@ti.com> writes:
>>>
>>>> On 08/09/2013 12:11 AM, Tony Lindgren wrote:
>>>>> * Dave Gerlach <d-gerlach@ti.com> [130808 09:23]:
>>>>>> On 08/08/2013 08:44 AM, Santosh Shilimkar wrote:
>>>>>>> Lets address the above better. I don't see a need of 8 functions
>>>>>>> exported doing one or 2 register writes.
>>>>>>>
>>>>>>> Look M3 based handling is going to be there on future SOCs
>>>>>>> as well and this kind of handling of IPC is very short cited.
>>>>>>>
>>>>>>
>>>>>> The idea here was to move all control module register accesses into
>>>>>> one file in planning of implementing a driver for the control module
>>>>>> itself in the future.
>>>>>>
>>>>>>> Probably we should have a separate driver for M3 in linux which
>>>>>>> can have all this local code instead of all these exports.
>>>>>>
>>>>>> The wkup_m3 code has been moved to a small driver found in patch 8
>>>>>> of this series, would it better to move this code there rather than
>>>>>> with the rest of the control module code?
>>>>>
>>>>> Please make everything you can into regular device drivers.
>>>>>
>>>>> We still have some dependencies to mach-omap2 code for PRCM
>>>>> for example, but we're trying to get all that to live in
>>>>> drivers.
>>>>>
>>>>> So for new pieces, let's not add further dependencies to
>>>>> complicate moving things to drivers.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Tony
>>>>>
>>>>
>>>> Ok I will go ahead and pull the control module code that handles IPC
>>>> into the wkup_m3 driver.
>>>
>>> Any control module register access still needs to stay in control.c.
>>>
>>>> The wkup_m3.c file is still present in mach-omap2 as the right
>>>> location for it wasn't decided in the last RFC. Any thoughts on a good
>>>> location for it?
>>>
>>> I raised this also in earlier reviews, but don't remember the if it was
>>> answered...
>>>
>>> Why can't we handle the wkup_m3 using remoteproc/rpmsg instead of
>>> creating another little driver that duplicates communication with the
>>> M3. Note also that the firmware load part would also be provided by
>>> remoteproc/rpmsg.
>>
>> Looping Suman Anna who handled the IPC patches this patch set is based
>> on top of...
>>
>> For the wkup_m3, the mailbox isn't used in a traditional manner. It's
>> only used with a dummy write to trigger an interrupt from the A8 to
>> the M3 and then communication happens in IPC registers within the
>> control module. No messages are actually sent through the mailbox in
>> either direction so that's why it was done this way rather than bring
>> in full support for the mailbox.
>
> I don't believe remoteproc/rpmsg forces you to use the mailbox for
> communication, and can use other IPC mechanisms. This still sounds
> cleaner than reinventing remoteproc/rpmsg because of slight variations.
>
> The linux way is to use and extend what is already there, and if it's
> extended to the breaking point, then make a case for why something new
> is needed.
>
While I agree to re-use frameworks, am strongly against use of IPC for
the power management which is time sensitive. Imagine a scenario where
ACPI is asked to go through remoteproc/ipc for talking to firmware.
If it takes 10 to 15 uS just to send a command to firmware to change
some control, that just tells something is not right and thats what
IPC will do.
ARM world is also moving towards that by standardizing some of these
through (read PSCI) and thats the way to go in general. Specifically
for this series, I am also against having tons of exports and all
of that should be extracted properly but remoteproc is not going
to be the way. Firmware download has to happen much earlier(ROM
path) so thats not the requirement where we could have used the
remoteproc firmware download feature.
Regards,
Santosh
next prev parent reply other threads:[~2013-08-13 15:08 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-06 17:49 [PATCHv3 0/9] ARM: OMAP2+: AM33XX: Add suspend-resume support Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 1/9] memory: emif: Move EMIF register defines to include/linux/ Dave Gerlach
2013-08-08 0:48 ` Russ Dill
2013-08-08 13:35 ` Santosh Shilimkar
2013-08-12 19:32 ` Greg Kroah-Hartman
2013-08-12 19:33 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs Dave Gerlach
2013-08-08 0:52 ` Russ Dill
2013-08-08 13:44 ` Santosh Shilimkar
2013-08-08 16:16 ` Dave Gerlach
2013-08-09 5:11 ` Tony Lindgren
2013-08-09 20:55 ` Dave Gerlach
2013-08-12 7:54 ` Tony Lindgren
2013-08-12 19:17 ` Kevin Hilman
2013-08-12 21:40 ` Dave Gerlach
2013-08-13 14:29 ` Kevin Hilman
2013-08-13 15:08 ` Santosh Shilimkar [this message]
2013-08-13 16:19 ` Kevin Hilman
2013-08-13 18:18 ` Santosh Shilimkar
2013-08-13 18:30 ` Russ Dill
2013-08-13 18:40 ` Santosh Shilimkar
2013-08-13 19:11 ` Kevin Hilman
2013-08-14 17:27 ` Suman Anna
2013-08-14 19:16 ` Russ Dill
2013-08-20 23:39 ` Paul Walmsley
2013-08-21 17:32 ` Suman Anna
2013-08-06 17:49 ` [PATCHv3 3/9] ARM: OMAP: DTB: Update IRQ data for WKUP_M3 Dave Gerlach
2013-08-08 0:53 ` Russ Dill
2013-08-08 13:46 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 4/9] ARM: OMAP2+: AM33XX: Reserve memory to comply with EMIF spec Dave Gerlach
2013-08-08 2:30 ` Russ Dill
2013-08-08 14:19 ` Santosh Shilimkar
2013-08-08 18:16 ` Kevin Hilman
2013-08-08 19:31 ` Santosh Shilimkar
2013-08-08 20:05 ` Kevin Hilman
2013-08-08 20:11 ` Santosh Shilimkar
2013-08-09 15:11 ` Kevin Hilman
2013-08-09 16:25 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 5/9] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Dave Gerlach
2013-08-08 7:02 ` Russ Dill
2013-08-08 14:50 ` Santosh Shilimkar
2013-08-08 15:16 ` Russ Dill
2013-08-08 15:22 ` Santosh Shilimkar
2013-08-08 16:03 ` Russ Dill
2013-08-19 12:54 ` Gururaja Hebbar
2013-08-19 17:51 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 6/9] ARM: OMAP2+: timer: Add suspend-resume callbacks for clkevent device Dave Gerlach
2013-08-08 7:03 ` Russ Dill
2013-08-08 14:23 ` Santosh Shilimkar
2013-08-08 16:09 ` Dave Gerlach
2013-08-08 18:25 ` Kevin Hilman
2013-08-08 19:49 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 7/9] ARM: OMAP: omap_device: Add APIs to enable and idle hwmods Dave Gerlach
2013-08-08 7:05 ` Russ Dill
2013-08-08 14:26 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 8/9] ARM: OMAP2+: AM33XX: Basic suspend resume support Dave Gerlach
2013-08-07 16:22 ` Nishanth Menon
2013-08-07 18:12 ` Dave Gerlach
2013-08-07 19:16 ` Nishanth Menon
2013-08-08 8:45 ` Russ Dill
2013-08-08 12:26 ` Nishanth Menon
2013-08-08 15:03 ` Santosh Shilimkar
2013-08-08 16:06 ` Dave Gerlach
2013-08-08 16:22 ` Nishanth Menon
2013-08-08 21:14 ` Kevin Hilman
2013-08-08 21:32 ` Nishanth Menon
2013-08-08 23:04 ` Kevin Hilman
2013-08-09 15:11 ` Nishanth Menon
2013-08-09 16:12 ` Kevin Hilman
2013-08-09 16:36 ` Nishanth Menon
2013-08-09 20:34 ` Kevin Hilman
2013-08-09 21:35 ` Nishanth Menon
2013-08-09 22:28 ` Russ Dill
2013-08-12 16:09 ` Kevin Hilman
2013-08-30 17:29 ` Vaibhav Bedia
2013-08-20 22:48 ` Paul Walmsley
2013-08-23 14:56 ` Dave Gerlach
2013-08-13 7:43 ` Russ Dill
2013-08-13 14:59 ` Kevin Hilman
2013-08-27 21:45 ` Kevin Hilman
2013-08-29 21:41 ` Dave Gerlach
2013-08-29 22:02 ` Kevin Hilman
2013-08-30 17:39 ` Vaibhav Bedia
2013-08-30 21:18 ` Kevin Hilman
2013-08-06 17:49 ` [PATCHv3 9/9] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Dave Gerlach
2013-08-08 8:47 ` Russ Dill
2013-08-08 14:53 ` Santosh Shilimkar
2013-08-08 13:31 ` [PATCHv3 0/9] ARM: OMAP2+: AM33XX: Add suspend-resume support Santosh Shilimkar
2013-08-11 11:53 ` Daniel Mack
2013-08-12 18:59 ` Dave Gerlach
2013-08-13 12:39 ` Daniel Mack
2013-08-13 15:33 ` Dave Gerlach
2013-08-13 15:51 ` Daniel Mack
2013-08-19 9:23 ` Gururaja Hebbar
2013-08-19 17:47 ` Dave Gerlach
2013-08-27 20:23 ` Kevin Hilman
2013-08-29 21:30 ` Dave Gerlach
2013-08-29 21:52 ` Kevin Hilman
2013-08-29 22:20 ` Dave Gerlach
2013-08-29 22:20 ` Kevin Hilman
2013-08-29 22:43 ` Russ Dill
2013-08-29 23:02 ` Kevin Hilman
2013-09-03 17:24 ` Dave Gerlach
2013-09-04 15:01 ` Kevin Hilman
2013-09-04 15:12 ` Russ Dill
2013-09-04 15:18 ` Kevin Hilman
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=520A4BE7.7090603@ti.com \
--to=santosh.shilimkar@ti.com \
--cc=d-gerlach@ti.com \
--cc=khilman@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=s-anna@ti.com \
--cc=tony@atomide.com \
--cc=vaibhav.bedia@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 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).