Message ID | 1598113021-4149-1-git-send-email-mkshah@codeaurora.org |
---|---|
Headers | show |
Series | irqchip: qcom: pdc: Introduce irq_set_wake call | expand |
Quoting Maulik Shah (2020-08-22 09:17:01) > Kexec can directly boot into a new kernel without going to complete > reboot. This can leave the previous kernel's configuration for PDC > interrupts as is. > > Clear previous kernel's configuration during init by setting interrupts > in enable bank to zero. The IRQs specified in qcom,pdc-ranges property > are the only ones that can be used by the new kernel so clear only those > IRQs. The remaining ones may be in use by a different kernel and should > not be set by new kernel. Presumably they're not in use anymore if the kernel has been kexeced and replaced this one? > > Suggested-by: Stephen Boyd <swboyd@chromium.org> > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Quoting Maulik Shah (2020-08-22 09:16:59) > Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag to enable/unmask the > wakeirqs during suspend entry. > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org> maybe just squash this with the other patch in this area?
Hi, On Sat, Aug 22, 2020 at 9:17 AM Maulik Shah <mkshah@codeaurora.org> wrote: > > Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag to enable/unmask the > wakeirqs during suspend entry. > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > drivers/pinctrl/qcom/pinctrl-msm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Douglas Anderson <dianders@chromium.org>
Hi, On Sat, Aug 22, 2020 at 9:18 AM Maulik Shah <mkshah@codeaurora.org> wrote: > > Kexec can directly boot into a new kernel without going to complete > reboot. This can leave the previous kernel's configuration for PDC > interrupts as is. > > Clear previous kernel's configuration during init by setting interrupts > in enable bank to zero. The IRQs specified in qcom,pdc-ranges property > are the only ones that can be used by the new kernel so clear only those > IRQs. The remaining ones may be in use by a different kernel and should > not be set by new kernel. > > Suggested-by: Stephen Boyd <swboyd@chromium.org> > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > drivers/irqchip/qcom-pdc.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) Reviewed-by: Douglas Anderson <dianders@chromium.org>
On Sat 22 Aug 16:16 UTC 2020, Maulik Shah wrote: > Add irqchip specific flags for msmgpio irqchip to mask non wakeirqs during > suspend and mask before setting irq type. > > Masking before changing type should make sure any spurious interrupt is not > detected during this operation. > This seems like two different problems and both descriptions are thin on details imho. If you're respinning the series I would appreciate if you improved this. Otherwise Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org> Regards, Bjorn > Fixes: e35a6ae0eb3a ("pinctrl/msm: Setup GPIO chip in hierarchy") > Acked-by: Linus Walleij <linus.walleij@linaro.org> > Reviewed-by: Douglas Anderson <dianders@chromium.org> > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > drivers/pinctrl/qcom/pinctrl-msm.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c > index a2567e7..1c23f5c 100644 > --- a/drivers/pinctrl/qcom/pinctrl-msm.c > +++ b/drivers/pinctrl/qcom/pinctrl-msm.c > @@ -1243,6 +1243,8 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) > pctrl->irq_chip.irq_release_resources = msm_gpio_irq_relres; > pctrl->irq_chip.irq_set_affinity = msm_gpio_irq_set_affinity; > pctrl->irq_chip.irq_set_vcpu_affinity = msm_gpio_irq_set_vcpu_affinity; > + pctrl->irq_chip.flags = IRQCHIP_MASK_ON_SUSPEND | > + IRQCHIP_SET_TYPE_MASKED; > > np = of_parse_phandle(pctrl->dev->of_node, "wakeup-parent", 0); > if (np) { > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation >