All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: "Chung-Yih Wang (王崇懿)" <cywang@google.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	maoguang meng <maoguang.meng@mediatek.com>,
	Hongzhou Yang <hongzhou.yang@mediatek.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Yingjoe Chen <yingjoe.chen@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4] pinctrl: mediatek: Implement wake handler and suspend resume
Date: Fri, 11 Sep 2015 13:43:52 +0100	[thread overview]
Message-ID: <55F2CC88.3030304@arm.com> (raw)
In-Reply-To: <CAM2ehZaDwQtckXcDQQh+XkYKXvVzy-6Tp+kdvRku0w2xVibPtQ@mail.gmail.com>



On 11/09/15 12:22, Chung-Yih Wang (王崇懿) wrote:
> Hi Sudeep and Maoguang,
>
>     Please correct me if I am wrong. I think the wake_mask Maoguang
> implemented is the wake-up configuration and it is how he disabled
> other unwanted interrupt sources(e.g. audio jacket insertion) during
> suspend.
>

OK, you are right, I think I now understand the issue. I misread the
code initially thinking the suspend/resume are implemented as
syscore_ops but they are standard device pm ops.

>    With Sudeep's patch which we had similar one before, the system got
> waken up by audio jack insertion which we don't want. Maoguang tried
> to implement wake_mask as the wake-up configuration to keep track of
> effective wakeup sources(i.e. those who makes enable_irq_wake) and
> write the wake-up configuration in mtk_eint_suspend(). What is your
> suggestion to address this issue? Thanks!
>

One option is to convert them to *_noirq callbacks assuming all the
users of this pinctrl irqchip have sanely implemented their
suspend/resume and don't trigger interrupts between dpm_suspend and
suspend_device_irqs. What do you think ?

Regards,
Sudeep

---->8

@@ -1130,8 +1130,8 @@ static int mtk_eint_resume(struct device *device)
  }

  const struct dev_pm_ops mtk_eint_pm_ops = {
-       .suspend = mtk_eint_suspend,
-       .resume = mtk_eint_resume,
+       .suspend_noirq = mtk_eint_suspend,
+       .resume_noirq = mtk_eint_resume,
  };
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" 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: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4] pinctrl: mediatek: Implement wake handler and suspend resume
Date: Fri, 11 Sep 2015 13:43:52 +0100	[thread overview]
Message-ID: <55F2CC88.3030304@arm.com> (raw)
In-Reply-To: <CAM2ehZaDwQtckXcDQQh+XkYKXvVzy-6Tp+kdvRku0w2xVibPtQ@mail.gmail.com>



On 11/09/15 12:22, Chung-Yih Wang (???) wrote:
> Hi Sudeep and Maoguang,
>
>     Please correct me if I am wrong. I think the wake_mask Maoguang
> implemented is the wake-up configuration and it is how he disabled
> other unwanted interrupt sources(e.g. audio jacket insertion) during
> suspend.
>

OK, you are right, I think I now understand the issue. I misread the
code initially thinking the suspend/resume are implemented as
syscore_ops but they are standard device pm ops.

>    With Sudeep's patch which we had similar one before, the system got
> waken up by audio jack insertion which we don't want. Maoguang tried
> to implement wake_mask as the wake-up configuration to keep track of
> effective wakeup sources(i.e. those who makes enable_irq_wake) and
> write the wake-up configuration in mtk_eint_suspend(). What is your
> suggestion to address this issue? Thanks!
>

One option is to convert them to *_noirq callbacks assuming all the
users of this pinctrl irqchip have sanely implemented their
suspend/resume and don't trigger interrupts between dpm_suspend and
suspend_device_irqs. What do you think ?

Regards,
Sudeep

---->8

@@ -1130,8 +1130,8 @@ static int mtk_eint_resume(struct device *device)
  }

  const struct dev_pm_ops mtk_eint_pm_ops = {
-       .suspend = mtk_eint_suspend,
-       .resume = mtk_eint_resume,
+       .suspend_noirq = mtk_eint_suspend,
+       .resume_noirq = mtk_eint_resume,
  };

WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: "Chung-Yih Wang (王崇懿)" <cywang@google.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	maoguang meng <maoguang.meng@mediatek.com>,
	Hongzhou Yang <hongzhou.yang@mediatek.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org" 
	<linux-mediatek@lists.infradead.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Yingjoe Chen <yingjoe.chen@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4] pinctrl: mediatek: Implement wake handler and suspend resume
Date: Fri, 11 Sep 2015 13:43:52 +0100	[thread overview]
Message-ID: <55F2CC88.3030304@arm.com> (raw)
In-Reply-To: <CAM2ehZaDwQtckXcDQQh+XkYKXvVzy-6Tp+kdvRku0w2xVibPtQ@mail.gmail.com>



On 11/09/15 12:22, Chung-Yih Wang (王崇懿) wrote:
> Hi Sudeep and Maoguang,
>
>     Please correct me if I am wrong. I think the wake_mask Maoguang
> implemented is the wake-up configuration and it is how he disabled
> other unwanted interrupt sources(e.g. audio jacket insertion) during
> suspend.
>

OK, you are right, I think I now understand the issue. I misread the
code initially thinking the suspend/resume are implemented as
syscore_ops but they are standard device pm ops.

>    With Sudeep's patch which we had similar one before, the system got
> waken up by audio jack insertion which we don't want. Maoguang tried
> to implement wake_mask as the wake-up configuration to keep track of
> effective wakeup sources(i.e. those who makes enable_irq_wake) and
> write the wake-up configuration in mtk_eint_suspend(). What is your
> suggestion to address this issue? Thanks!
>

One option is to convert them to *_noirq callbacks assuming all the
users of this pinctrl irqchip have sanely implemented their
suspend/resume and don't trigger interrupts between dpm_suspend and
suspend_device_irqs. What do you think ?

Regards,
Sudeep

---->8

@@ -1130,8 +1130,8 @@ static int mtk_eint_resume(struct device *device)
  }

  const struct dev_pm_ops mtk_eint_pm_ops = {
-       .suspend = mtk_eint_suspend,
-       .resume = mtk_eint_resume,
+       .suspend_noirq = mtk_eint_suspend,
+       .resume_noirq = mtk_eint_resume,
  };

  reply	other threads:[~2015-09-11 12:43 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14  8:38 [PATCH v4] pinctrl: mediatek: Implement wake handler and suspend resume maoguang.meng
2015-08-14  8:38 ` maoguang.meng
2015-08-14  8:38 ` maoguang.meng at mediatek.com
2015-08-14  9:57 ` Daniel Kurtz
2015-08-14  9:57   ` Daniel Kurtz
2015-08-17  7:52 ` Yingjoe Chen
2015-08-17  7:52   ` Yingjoe Chen
2015-08-17  7:52   ` Yingjoe Chen
2015-08-17  9:09   ` Daniel Kurtz
2015-08-17  9:09     ` Daniel Kurtz
2015-08-17  9:09     ` Daniel Kurtz
2015-08-17 13:25     ` Yingjoe Chen
2015-08-17 13:25       ` Yingjoe Chen
2015-08-17 13:25       ` Yingjoe Chen
2015-08-17 21:45       ` Hongzhou Yang
2015-08-17 21:45         ` Hongzhou Yang
2015-08-17 21:45         ` Hongzhou Yang
2015-08-24 16:27 ` Sudeep Holla
2015-08-24 16:27   ` Sudeep Holla
2015-09-02  6:02   ` Daniel Kurtz
2015-09-02  6:02     ` Daniel Kurtz
     [not found]     ` <CAGS+omBnoitju07KQ1Y7JHTbce6+DO4WqWHTaKz5D+T157zEJA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-06 10:39       ` maoguang meng
2015-09-06 10:39         ` maoguang meng
2015-09-06 10:39         ` maoguang meng
2015-09-08  9:28         ` Sudeep Holla
2015-09-08  9:28           ` Sudeep Holla
2015-09-08 16:50           ` Sudeep Holla
2015-09-08 16:50             ` Sudeep Holla
2015-09-11 11:22             ` Chung-Yih Wang (王崇懿)
2015-09-11 11:22               ` Chung-Yih Wang (王崇懿)
2015-09-11 12:43               ` Sudeep Holla [this message]
2015-09-11 12:43                 ` Sudeep Holla
2015-09-11 12:43                 ` Sudeep Holla
2015-09-12  9:50             ` maoguang meng
2015-09-12  9:50               ` maoguang meng
2015-09-14 11:16               ` Sudeep Holla
2015-09-14 11:16                 ` Sudeep Holla
2015-09-15  2:43                 ` Daniel Kurtz
2015-09-15  2:43                   ` Daniel Kurtz
2015-09-15  2:52                 ` Dmitry Torokhov
2015-09-15  2:52                   ` Dmitry Torokhov
2015-09-15 17:48                   ` Sudeep Holla
2015-09-15 17:48                     ` Sudeep Holla
2015-08-26 12:41 ` Linus Walleij
2015-08-26 12:41   ` Linus Walleij

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=55F2CC88.3030304@arm.com \
    --to=sudeep.holla@arm.com \
    --cc=cywang@google.com \
    --cc=hongzhou.yang@mediatek.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=maoguang.meng@mediatek.com \
    --cc=matthias.bgg@gmail.com \
    --cc=yingjoe.chen@mediatek.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.