All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@ti.com>
To: Govindraj <govindraj.ti@gmail.com>
Cc: "Govindraj.R" <govindraj.raja@ti.com>,
	linux-omap@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Tony Lindgren <tony@atomide.com>,
	Benoit Cousson <b-cousson@ti.com>, Paul Walmsley <paul@pwsan.com>,
	Rajendra Nayak <rnayak@ti.com>
Subject: Re: [PATCH 5/7] Serial: OMAP: add runtime pm support for omap-serial driver
Date: Wed, 09 Mar 2011 15:06:24 -0800	[thread overview]
Message-ID: <87oc5jvqq7.fsf@ti.com> (raw)
In-Reply-To: <AANLkTim0Xuu8Bs4tzyH1kQp2eS5nUq8stQX4MGzELEE6@mail.gmail.com> (Govindraj's message of "Wed, 9 Mar 2011 20:37:11 +0530")

Govindraj <govindraj.ti@gmail.com> writes:

[...]

>>
>> So here's an experiment to try with autosuspend.  I suspect this will
>> work, just hack it up to prove the concept.  If it works, we can make
>> something more generic.  Here are a few alternatives to try.  I may
>> experiment with some of them tomorrow as well, but please let me know
>> what you try:
>>
>> Using autosuspend, clocks will get cut independently of the idle path.
>> Then, use the PRCM ISR detection of UART module wakeups to call the
>> UART's interrupt handler.  The interrupt handler will pm_runtime_get(),
>> enable the clocks, and then take care of the interrupt.  Done.
>>
>> Alternatively, you could test it on current code by simply removing the
>> resume_from_idle call from the idle path and calling it instead from the
>> PRCM ISR when UART module wakeups are detected.
>
> I remember doing similar experiment didn't seem to help,
>

To show it's possible, I did really hacky proof of concept, hard-coded
to UART3 console for n900/beagle, but at least it shows that this
approach can work, and the module-level wakeups are working and can be
used as the trigger for UART wakeup instead of resume_from_idle.  Of
course, it still has problems with using serial after non-UART wakeups,
but once omap-serial is using runtime PM, that will no longer be an
issue.

My hacky branch is called pm-wip/uart-wkup and is in my pm git tree[1]
(based at the pm-core branch)

To test module-level wakeups (instead of IO-ring) I again forced CORE to
stay on during suspend, and tested wakeup from suspend on 3430/n900:

  echo 3 > /debug/pm_debug/core_pwrdm/suspend
  echo mem > /sys/power/state

Kevin

[1] git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: khilman@ti.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/7] Serial: OMAP: add runtime pm support for omap-serial driver
Date: Wed, 09 Mar 2011 15:06:24 -0800	[thread overview]
Message-ID: <87oc5jvqq7.fsf@ti.com> (raw)
In-Reply-To: <AANLkTim0Xuu8Bs4tzyH1kQp2eS5nUq8stQX4MGzELEE6@mail.gmail.com> (Govindraj's message of "Wed, 9 Mar 2011 20:37:11 +0530")

Govindraj <govindraj.ti@gmail.com> writes:

[...]

>>
>> So here's an experiment to try with autosuspend. ?I suspect this will
>> work, just hack it up to prove the concept. ?If it works, we can make
>> something more generic. ?Here are a few alternatives to try. ?I may
>> experiment with some of them tomorrow as well, but please let me know
>> what you try:
>>
>> Using autosuspend, clocks will get cut independently of the idle path.
>> Then, use the PRCM ISR detection of UART module wakeups to call the
>> UART's interrupt handler. ?The interrupt handler will pm_runtime_get(),
>> enable the clocks, and then take care of the interrupt. ?Done.
>>
>> Alternatively, you could test it on current code by simply removing the
>> resume_from_idle call from the idle path and calling it instead from the
>> PRCM ISR when UART module wakeups are detected.
>
> I remember doing similar experiment didn't seem to help,
>

To show it's possible, I did really hacky proof of concept, hard-coded
to UART3 console for n900/beagle, but at least it shows that this
approach can work, and the module-level wakeups are working and can be
used as the trigger for UART wakeup instead of resume_from_idle.  Of
course, it still has problems with using serial after non-UART wakeups,
but once omap-serial is using runtime PM, that will no longer be an
issue.

My hacky branch is called pm-wip/uart-wkup and is in my pm git tree[1]
(based at the pm-core branch)

To test module-level wakeups (instead of IO-ring) I again forced CORE to
stay on during suspend, and tested wakeup from suspend on 3430/n900:

  echo 3 > /debug/pm_debug/core_pwrdm/suspend
  echo mem > /sys/power/state

Kevin

[1] git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git

  reply	other threads:[~2011-03-09 23:06 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-28 14:39 [PATCH 0/7] OMAP2+: UART: runtime conversion + cleanup Govindraj.R
2011-02-28 14:39 ` Govindraj.R
2011-02-28 14:39 ` [PATCH 1/7] OMAP2+ : hwmod_data: update uart hwmod data Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-02-28 14:39 ` [PATCH 2/7] OMAP2+: mux: Enable wakeup for wakeup enable requested pads Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-03-02  4:49   ` Varadarajan, Charulatha
2011-03-02  4:49     ` Varadarajan, Charulatha
2011-03-02 10:40     ` Govindraj
2011-03-02 10:40       ` Govindraj
2011-02-28 14:39 ` [PATCH 3/7] OMAP2+: UART: Remove certain uart calls from sram_idle Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-02-28 14:39 ` [PATCH 4/7] OMAP2+: UART: Remove uart clock handling code serial.c Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-02-28 14:39 ` [PATCH 5/7] Serial: OMAP: add runtime pm support for omap-serial driver Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-03-05  1:59   ` Kevin Hilman
2011-03-05  1:59     ` Kevin Hilman
2011-03-08 14:04     ` Govindraj
2011-03-08 14:04       ` Govindraj
2011-03-09  1:48       ` Kevin Hilman
2011-03-09  1:48         ` Kevin Hilman
2011-03-09  2:02         ` Paul Walmsley
2011-03-09  2:02           ` Paul Walmsley
2011-03-09 13:03           ` Govindraj
2011-03-09 13:03             ` Govindraj
2011-03-09 15:07         ` Govindraj
2011-03-09 15:07           ` Govindraj
2011-03-09 23:06           ` Kevin Hilman [this message]
2011-03-09 23:06             ` Kevin Hilman
2011-02-28 14:39 ` [PATCH 6/7] OMAP: Serial: Allow UART parameters to be configured from board file Govindraj.R
2011-02-28 14:39   ` Govindraj.R
2011-03-01 19:16   ` Sricharan R
2011-03-01 19:16     ` Sricharan R
2011-03-02  7:40     ` Govindraj
2011-03-02  7:40       ` Govindraj
2011-03-02  8:19       ` Sricharan R
2011-03-02  8:19         ` Sricharan R
2011-03-02 10:07         ` Govindraj
2011-03-02 10:07           ` Govindraj
2011-03-02 18:24           ` Tony Lindgren
2011-03-02 18:24             ` Tony Lindgren
2011-03-03 12:14             ` Govindraj
2011-03-03 12:14               ` Govindraj
2011-03-03  5:08           ` Sricharan R
2011-03-03  5:08             ` Sricharan R
2011-03-04  6:25             ` Govindraj
2011-03-04  6:25               ` Govindraj
2011-02-28 14:39 ` [PATCH 7/7] Serial: OMAP2+: Make the RX_TIMEOUT for DMA configurable for each UART Govindraj.R
2011-02-28 14:39   ` Govindraj.R

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=87oc5jvqq7.fsf@ti.com \
    --to=khilman@ti.com \
    --cc=b-cousson@ti.com \
    --cc=govindraj.raja@ti.com \
    --cc=govindraj.ti@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=rnayak@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.