]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
MIPS: Loongson-3: Fix BRIDGE irq delivery problem
authorHuacai Chen <chenhc@lemote.com>
Wed, 5 Sep 2018 09:33:09 +0000 (17:33 +0800)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:58:51 +0000 (19:58 -0600)
commit5054e911bb1d43a29fae62f82c66211078930adf
tree044cc1091b6e38ed2ad093c8a72e793c21ba3c12
parent9c63b697c0234be4ebfa41cbd077175ea484ea03
MIPS: Loongson-3: Fix BRIDGE irq delivery problem

BugLink: https://bugs.launchpad.net/bugs/1836802
[ Upstream commit 360fe725f8849aaddc53475fef5d4a0c439b05ae ]

After commit e509bd7da149dc349160 ("genirq: Allow migration of chained
interrupts by installing default action") Loongson-3 fails at here:

setup_irq(LOONGSON_HT1_IRQ, &cascade_irqaction);

This is because both chained_action and cascade_irqaction don't have
IRQF_SHARED flag. This will cause Loongson-3 resume fails because HPET
timer interrupt can't be delivered during S3. So we set the irqchip of
the chained irq to loongson_irq_chip which doesn't disable the chained
irq in CP0.Status.

Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20434/
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: Huacai Chen <chenhuacai@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
arch/mips/include/asm/mach-loongson64/irq.h
arch/mips/loongson64/loongson-3/irq.c