Re: [PATCH v1] Input: tegra-kbc - enable key interrupt for wakeup

From: Datta, Shubhrajyoti
Date: Tue Jan 24 2012 - 00:25:07 EST


Hi Rakesh,

On Thu, Jan 19, 2012 at 11:51 PM, Rakesh Iyer <riyer@xxxxxxxxxx> wrote:
>>       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.

Does it need to be disabled at resume?

>    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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/