Re: [PATCH V2 2/2] tty: serial: qcom_geni_serial: Wakeup over UART RX

Akash Asthana
2019-10-17T11:10:18Z

On 10/16/2019 1:40 AM, Stephen Boyd wrote:
> Quoting Akash Asthana (2019-10-11 02:48:42)
>> On 10/10/2019 7:55 PM, Stephen Boyd wrote:
>>> Quoting Akash Asthana (2019-10-10 02:46:43)
>>>> diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
>>>> index 5180cd8..ff63728 100644
>>>> --- a/drivers/tty/serial/qcom_geni_serial.c
>>>> +++ b/drivers/tty/serial/qcom_geni_serial.c
>>>> @@ -1306,6 +1317,29 @@ static int qcom_geni_serial_probe(struct platform_device *pdev)
>>>> + if (port->wakeup_irq < 0) {
>>>> + dev_err(&pdev->dev, "Failed to get wakeup IRQ %d\n",
>>>> + port->wakeup_irq);
>>>> + } else {
>>>> + irq_set_status_flags(port->wakeup_irq, IRQ_NOAUTOEN);
>>>> + ret = devm_request_irq(uport->dev, port->wakeup_irq,
>>>> + qcom_geni_serial_wakeup_isr,
>>>> + IRQF_TRIGGER_FALLING, "uart_wakeup", uport);
>>>> + if (ret) {
>>>> + dev_err(uport->dev, "Failed to register wakeup IRQ ret %d\n",
>>>> + ret);
>>>> + return ret;
>>>> + }
>>>> +
>>>> + device_init_wakeup(&pdev->dev, true);
>>>> + ret = dev_pm_set_wake_irq(&pdev->dev, port->wakeup_irq);
>>> Why can't we use dev_pm_set_dedicated_wake_irq() here?
>> If we use this API then handler "handle_threaded_wake_irq" uses device
>> specific pm_runtime functions to wake the device and currently this
>>
>> driver don't support runtime PM callbacks. Also, we want to register
>> "qcom_geni_serial_wakeup_isr" as our IRQ handler for wakeup scenario.
>>
> Why can't we make this driver use runtime PM?

Currently there are no plans to use runtime PM as we are interested in
enabling wakeup irq as part of system suspend only.