Re: [PATCH v1] gpio: tegra: Fix irq_set_affinity

From: Linus Walleij
Date: Fri Jan 22 2021 - 07:57:30 EST


On Wed, Jan 20, 2021 at 1:46 AM Dmitry Osipenko <digetx@xxxxxxxxx> wrote:

> The irq_set_affinity callback should not be set if parent IRQ domain
> doesn't present because gpio-tegra driver callback fails in this case,
> causing a noisy error messages on system suspend:
>
> Disabling non-boot CPUs ...
> IRQ 26: no longer affine to CPU1
> IRQ128: set affinity failed(-22).
> IRQ130: set affinity failed(-22).
> IRQ131: set affinity failed(-22).
> IRQ 27: no longer affine to CPU2
> IRQ128: set affinity failed(-22).
> IRQ130: set affinity failed(-22).
> IRQ131: set affinity failed(-22).
> IRQ 28: no longer affine to CPU3
> IRQ128: set affinity failed(-22).
> IRQ130: set affinity failed(-22).
> IRQ131: set affinity failed(-22).
> Entering suspend state LP1
>
> Hence just don't specify the irq_set_affinity callback if parent PMC
> IRQ domain is missing. Tegra isn't capable of setting affinity per GPIO,
> affinity could be set only per GPIO bank, thus there is nothing to do
> for gpio-tegra in regards to CPU affinity without the parent IRQ domain.
>
> Tested-by: Peter Geis <pgwipeout@xxxxxxxxx> # Ouya T30
> Tested-by: Matt Merhar <mattmerhar@xxxxxxxxxxxxxx> # Ouya T30
> Tested-by: Dmitry Osipenko <digetx@xxxxxxxxx> # A500 T20 and Nexus7 T30
> Fixes: efcdca286eef ("gpio: tegra: Convert to gpio_irq_chip")
> Reported-by: Matt Merhar <mattmerhar@xxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>

Ick, sorry for the noise!
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij