From: Kevin Hilman <khilman@ti.com>
To: "DebBarma, Tarun Kanti" <tarun.kanti@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>,
Tony Lindgren <tony@atomide.com>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] gpio/omap: fix wakeups on level-triggered GPIOs
Date: Wed, 22 Feb 2012 13:40:05 -0800 [thread overview]
Message-ID: <87aa4azgwa.fsf@ti.com> (raw)
In-Reply-To: <CAC83ZvKXSwSsU_hu7hrPV6DmVYv=G3iF7Wb5hF_qhSiL+BpfaQ@mail.gmail.com> (Tarun Kanti DebBarma's message of "Wed, 22 Feb 2012 22:47:35 +0530")
Hi Tarun,
"DebBarma, Tarun Kanti" <tarun.kanti@ti.com> writes:
> On Wed, Feb 22, 2012 at 12:31 AM, Kevin Hilman <khilman@ti.com> wrote:
>> While both level- and edge-triggered GPIOs are capable of generating
>> interrupts, only edge-triggered GPIOs are capable of generating a
>> module-level wakeup to the PRCM (c.f. 34xx NDA TRM section 25.5.3.2.)
>>
>> In order to ensure that devices using level-triggered GPIOs as
>> interrupts can also cause wakeups (e.g. from idle), this patch enables
>> edge-triggering for wakeup-enabled, level-triggered GPIOs when a GPIO
>> bank is runtime-suspended (which also happens during idle.)
>>
>> This fixes a problem found in GPMC-connected network cards with GPIO
>> interrupts (e.g. smsc911x on Zoom3, Overo, ...) where network booting
>> with NFSroot was very slow since the GPIO IRQs used by the NIC were
>> not generating PRCM wakeups, and thus not waking the system from idle.
>> NOTE: until v3.3, this boot-time problem was somewhat masked because
>> the UART init prevented WFI during boot until the full serial driver
>> was available. Preventing WFI allowed regular GPIO interrupts to fire
>> and this problem was not seen. After the UART runtime PM cleanups, we
>> no longer avoid WFI during boot, so GPIO IRQs that were not causing
>> wakeups resulted in very slow IRQ response times.
>>
>> Tested on platforms using level-triggered GPIOs for network IRQs using
>> the SMSC911x NIC: 3530/Overo and 3630/Zoom3.
>>
>> Reported-by: Tony Lindgren <tony@atomide.com>
>> Signed-off-by: Kevin Hilman <khilman@ti.com>
>
> I have tested on OMAP3430 by making modification to touchscreen GPIO.
> (I had similar change in my next planned cleanup/fix series.)
> If needed you can add my Tested-by:
Thanks for testing, I'll add a Tested-by from you and Tony before
submitting to Grant.
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" 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] gpio/omap: fix wakeups on level-triggered GPIOs
Date: Wed, 22 Feb 2012 13:40:05 -0800 [thread overview]
Message-ID: <87aa4azgwa.fsf@ti.com> (raw)
In-Reply-To: <CAC83ZvKXSwSsU_hu7hrPV6DmVYv=G3iF7Wb5hF_qhSiL+BpfaQ@mail.gmail.com> (Tarun Kanti DebBarma's message of "Wed, 22 Feb 2012 22:47:35 +0530")
Hi Tarun,
"DebBarma, Tarun Kanti" <tarun.kanti@ti.com> writes:
> On Wed, Feb 22, 2012 at 12:31 AM, Kevin Hilman <khilman@ti.com> wrote:
>> While both level- and edge-triggered GPIOs are capable of generating
>> interrupts, only edge-triggered GPIOs are capable of generating a
>> module-level wakeup to the PRCM (c.f. 34xx NDA TRM section 25.5.3.2.)
>>
>> In order to ensure that devices using level-triggered GPIOs as
>> interrupts can also cause wakeups (e.g. from idle), this patch enables
>> edge-triggering for wakeup-enabled, level-triggered GPIOs when a GPIO
>> bank is runtime-suspended (which also happens during idle.)
>>
>> This fixes a problem found in GPMC-connected network cards with GPIO
>> interrupts (e.g. smsc911x on Zoom3, Overo, ...) where network booting
>> with NFSroot was very slow since the GPIO IRQs used by the NIC were
>> not generating PRCM wakeups, and thus not waking the system from idle.
>> NOTE: until v3.3, this boot-time problem was somewhat masked because
>> the UART init prevented WFI during boot until the full serial driver
>> was available. ?Preventing WFI allowed regular GPIO interrupts to fire
>> and this problem was not seen. ?After the UART runtime PM cleanups, we
>> no longer avoid WFI during boot, so GPIO IRQs that were not causing
>> wakeups resulted in very slow IRQ response times.
>>
>> Tested on platforms using level-triggered GPIOs for network IRQs using
>> the SMSC911x NIC: 3530/Overo and 3630/Zoom3.
>>
>> Reported-by: Tony Lindgren <tony@atomide.com>
>> Signed-off-by: Kevin Hilman <khilman@ti.com>
>
> I have tested on OMAP3430 by making modification to touchscreen GPIO.
> (I had similar change in my next planned cleanup/fix series.)
> If needed you can add my Tested-by:
Thanks for testing, I'll add a Tested-by from you and Tony before
submitting to Grant.
Kevin
next prev parent reply other threads:[~2012-02-22 21:39 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-21 19:01 [PATCH] gpio/omap: fix wakeups on level-triggered GPIOs Kevin Hilman
2012-02-21 19:01 ` Kevin Hilman
2012-02-22 17:17 ` DebBarma, Tarun Kanti
2012-02-22 17:17 ` DebBarma, Tarun Kanti
2012-02-22 18:00 ` Tony Lindgren
2012-02-22 18:00 ` Tony Lindgren
2012-02-22 21:40 ` Kevin Hilman [this message]
2012-02-22 21:40 ` Kevin Hilman
-- strict thread matches above, loose matches on Subject: below --
2012-03-05 23:10 Kevin Hilman
2012-03-05 23:10 ` Kevin Hilman
2012-03-12 16:16 ` Grant Likely
2012-03-12 16:16 ` Grant Likely
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=87aa4azgwa.fsf@ti.com \
--to=khilman@ti.com \
--cc=grant.likely@secretlab.ca \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=tarun.kanti@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.