Re: GPIO debounce problems on 3.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 1, 2012 at 8:41 PM, Paul Walmsley <paul@xxxxxxxxx> wrote:
> On Wed, 1 Feb 2012, Grazvydas Ignotas wrote:
>
>> On Wed, Feb 1, 2012 at 8:06 AM, Paul Walmsley <paul@xxxxxxxxx> wrote:
>> > On Tue, 31 Jan 2012, Paul Walmsley wrote:
>> >
>> >> Well, whether it's in or out of idle, I'll bet the DEBOUNCENABLE
>> >> bits are still set to 1 while the debounce clock is off :-(
>> >
>> > Along these lines, you might try patching omap2_gpio_prepare_for_idle() to
>> > turn off the DEBOUNCENABLE bits?
>>
>> Yes that helps. I guess I'll carry this in pandora tree, at least
>> we'll have debounce while more demanding programs/games are running.
>
> Yep definitely.  When only I/O wakeups can occur on those GPIO lines (when
> CORE/PER is in a low-power state), they are intrinsically debounced :-)
> So it should be fine.  You are re-enabling the DEBOUNCENABLE bits in
> omap2_gpio_resume_after_idle() I assume?  If so, that should be a good
> workaround for mainline too.

To follow up on this, it appears clearing DEBOUNCENABLE in
omap2_gpio_prepare_for_idle (or omap_gpio_runtime_suspend in 3.4) and
reenabling on resume causes some sort of irq storm, I get ~50 irqs on
key press/release for given GPIO, which causes CPU usage spikes, but
no duplicate input events, curiously. Obviously this is not good for
UIs and games, so I have nothing left but to disable hardware debounce
now :(



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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux