[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1FC56210173BB445BD77F608D6FB8D034F401D296F@HQMAIL03.nvidia.com>
Date: Thu, 19 Jan 2012 10:21:43 -0800
From: Rakesh Iyer <riyer@...dia.com>
To: Shubhrajyoti <shubhrajyoti@...com>
CC: "dmitry.torokhov@...il.com" <dmitry.torokhov@...il.com>,
Stephen Warren <swarren@...dia.com>,
"linux-input@...r.kernel.org" <linux-input@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v1] Input: tegra-kbc - enable key interrupt for wakeup
> if (device_may_wakeup(&pdev->dev)) {
> disable_irq_wake(kbc->irq);
> tegra_kbc_setup_wakekeys(kbc, false);
> + /* We will use fifo interrupts for key detection. */
> + tegra_kbc_set_keypress_interrupt(kbc, false);
Why do yo disable on resume why not have it enabled always?
>
> /* Restore the resident time of continuous polling mode. */
> writel(kbc->cp_to_wkup_dly, kbc->mmio + KBC_TO_CNT_0);
For the relevant discussion, Tegra KBC provides the following interrupts -
a) The keypress interrupt which is generated as soon as a key is pressed,
before matrix scanning begins.
b) FIFO interrupt which is generated when actual keys are decoded from the matrix,
and put into the FIFO.
During normal operation the keypress interrupt is not useful as we have to wait for the
keys to make it into the FIFO before reporting it to the higher layers.
Since we have turned off scanning(in the following commit) we cannot use the FIFO interrupt
during the resume, so we rely on the keypress interrupt and generate the wakeup key.
Commit that turned off scanning
Input: tegra-kbc - fix wakeup from suspend
For wakeup to be reliable, kbc needs to be in interrupt mode before suspend.
Created common routine to control the FIFO interrupt.
Added synchronization to ensure orderly suspend.
Regards
Rakesh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists