linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lina Iyer <ilina@codeaurora.org>
To: Stephen Boyd <swboyd@chromium.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 15:13:17 -0700	[thread overview]
Message-ID: <20191115221317.GH18786@codeaurora.org> (raw)
In-Reply-To: <5dcf2213.1c69fb81.1e0ec.f500@mx.google.com>

On Fri, Nov 15 2019 at 15:09 -0700, Stephen Boyd wrote:
>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.
>
We do not, may be other architectures can use this check better.

--lina

  reply	other threads:[~2019-11-15 22:13 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
2019-11-15 22:13           ` Lina Iyer [this message]
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=20191115221317.GH18786@codeaurora.org \
    --to=ilina@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=dianders@chromium.org \
    --cc=evgreen@chromium.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 \
    --cc=swboyd@chromium.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;
as well as URLs for NNTP newsgroup(s).