On Wed, Jan 20, 2021 at 1:46 AM Dmitry Osipenko <[email protected]> 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 <[email protected]> # Ouya T30
> Tested-by: Matt Merhar <[email protected]> # Ouya T30
> Tested-by: Dmitry Osipenko <[email protected]> # A500 T20 and Nexus7 T30
> Fixes: efcdca286eef ("gpio: tegra: Convert to gpio_irq_chip")
> Reported-by: Matt Merhar <[email protected]>
> Signed-off-by: Dmitry Osipenko <[email protected]>

Ick, sorry for the noise!
Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

Reply via email to