From: Stephen Boyd <swboyd@chromium.org>
To: Lina Iyer <ilina@codeaurora.org>
Cc: bjorn.andersson@linaro.org, linus.walleij@linaro.org,
maz@kernel.org, evgreen@chromium.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
mkshah@codeaurora.org, linux-gpio@vger.kernel.org,
agross@kernel.org, dianders@chromium.org
Subject: Re: [PATCH 08/12] drivers: pinctrl: msm: setup GPIO chip in hierarchy
Date: Fri, 15 Nov 2019 14:09:22 -0800 [thread overview]
Message-ID: <5dcf2213.1c69fb81.1e0ec.f500@mx.google.com> (raw)
In-Reply-To: <20191115215737.GG18786@codeaurora.org>
Quoting Lina Iyer (2019-11-15 13:57:37)
> On Fri, Nov 15 2019 at 13:55 -0700, Lina Iyer wrote:
> >>Quoting Lina Iyer (2019-11-14 10:35:17)
>
> >>>+static int msm_gpio_wakeirq(struct gpio_chip *gc,
> >>>+ unsigned int child,
> >>>+ unsigned int child_type,
> >>>+ unsigned int *parent,
> >>>+ unsigned int *parent_type)
> >>>+{
> >>>+ struct msm_pinctrl *pctrl = gpiochip_get_data(gc);
> >>>+ const struct msm_gpio_wakeirq_map *map;
> >>>+ int i;
> >>>+
> >>>+ *parent = GPIO_NO_WAKE_IRQ;
> >>>+ *parent_type = IRQ_TYPE_EDGE_RISING;
> >>>+
> >>>+ for (i = 0; i < pctrl->soc->nwakeirq_map; i++) {
> >>>+ map = &pctrl->soc->wakeirq_map[i];
> >>>+ if (map->gpio == child) {
> >>>+ *parent = map->wakeirq;
> >>>+ break;
> >>>+ }
> >>>+ }
> >>>+
> >>>+ return 0;
> >>
> >>Shouldn't we return -EINVAL if we can't translate the gpio irq to the
> >>parent domain? I would expect to see return -EINVAL here and the above
> >>if condition to return 0 instead of break.
> >>
> >Good catch. Sure.
> >>>+}
> >>>+
> Looking into this, we have been setting GPIO in hierarchy with PDC and
> the return 0 is appropriate as it would set the GPIO_NO_WAKE_IRQ as the
> parent and setup the IRQ correctly. We fail to setup GPIOs otherwise.
Ah ok so by default we will set the parent irq to ~0 and that means
bypass pdc and go directly to GIC?
Where do we fail to setup a GPIO otherwise? It sounds like we can always
translate to either something in the map or to ~0.
next prev parent reply other threads:[~2019-11-15 22:09 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-14 18:35 [PATCH 00/12] Support wakeup capable GPIOs Lina Iyer
2019-11-14 18:35 ` [PATCH 01/12] irqdomain: add bus token DOMAIN_BUS_WAKEUP Lina Iyer
2019-11-15 18:48 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 02/12] drivers: irqchip: qcom-pdc: update max PDC interrupts Lina Iyer
2019-11-15 18:48 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 03/12] drivers: irqchip: pdc: Do not toggle IRQ_ENABLE during mask/unmask Lina Iyer
2019-11-15 18:49 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 04/12] drivers: irqchip: add PDC irqdomain for wakeup capable GPIOs Lina Iyer
2019-11-15 19:03 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 05/12] of: irq: document properties for wakeup interrupt parent Lina Iyer
2019-11-15 19:03 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 06/12] genirq: Introduce irq_chip_get/set_parent_state calls Lina Iyer
2019-11-15 19:04 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 07/12] drivers: irqchip: pdc: Add irqchip set/get state calls Lina Iyer
2019-11-15 19:05 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 08/12] drivers: pinctrl: msm: setup GPIO chip in hierarchy Lina Iyer
2019-11-14 18:43 ` Linus Walleij
2019-11-14 18:57 ` Lina Iyer
2019-11-15 19:33 ` Stephen Boyd
2019-11-15 20:55 ` Lina Iyer
2019-11-15 21:57 ` Lina Iyer
2019-11-15 22:09 ` Stephen Boyd [this message]
2019-11-15 22:13 ` Lina Iyer
2019-11-14 18:35 ` [PATCH 09/12] drivers: pinctrl: sdm845: add PDC wakeup interrupt map for GPIOs Lina Iyer
2019-11-15 19:33 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 10/12] arm64: dts: qcom: add PDC interrupt controller for SDM845 Lina Iyer
2019-11-15 19:34 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 11/12] arm64: dts: qcom: setup PDC as the wakeup parent for TLMM on SDM845 Lina Iyer
2019-11-15 19:34 ` Stephen Boyd
2019-11-14 18:35 ` [PATCH 12/12] arm64: defconfig: enable PDC interrupt controller for Qualcomm SDM845 Lina Iyer
2019-11-15 19:34 ` Stephen Boyd
2019-11-15 10:08 ` [PATCH 00/12] Support wakeup capable GPIOs Marc Zyngier
2019-11-15 16:20 ` Lina Iyer
2019-11-15 19:35 ` Stephen Boyd
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=5dcf2213.1c69fb81.1e0ec.f500@mx.google.com \
--to=swboyd@chromium.org \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=dianders@chromium.org \
--cc=evgreen@chromium.org \
--cc=ilina@codeaurora.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=mkshah@codeaurora.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox