irqchip: imx-irqsteer: Block the runtime PM
The irqsteer's runtime PM has to be enabled otherwise the probe of some devices (such as dpu) will fail because of the failure of irq_chip_pm_get(). But we can't allow the irqsteer to really enter the suspend state because it will break the kdump with a call trace like below. Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP Modules linked in: sch_fq_codel CPU: 3 PID: 3772 Comm: sh Kdump: loaded Not tainted 5.4.87-yocto-standard #1 Hardware name: Freescale i.MX8QM MEK (DT) pstate: 40000085 (nZcv daIf -PAN -UAO) pc : imx_irqsteer_irq_mask+0x50/0x90 lr : imx_irqsteer_irq_mask+0x40/0x90 sp : ffff800014b7b9e0 x29: ffff800014b7b9e0 x28: ffff0008e5800000 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000007 x24: ffff800011513398 x23: ffff800014b7ba88 x22: ffff0008ef1fadd8 x21: ffff0008ef1fac80 x20: ffff0008eecd8858 x19: 0000000000000001 x18: 0000000000000020 x17: 0000000000000000 x16: 0000000000000000 x15: ffff0008e5800470 x14: 0000000080000085 x13: ffff800010192a48 x12: ffff800011ed8000 x11: ffff800011ed8b50 x10: 00000000000c01d2 x9 : 000000002769dc82 x8 : 00000000000084ab x7 : ffff800011ed8b68 x6 : 0000000000000001 x5 : 0000000016f0f41b x4 : 8888888888888889 x3 : ffff800013677000 x2 : ffff800013677004 x1 : 0000000000000080 x0 : 0000000000000080 Call trace: imx_irqsteer_irq_mask+0x50/0x90 machine_crash_shutdown+0xb4/0x10c __crash_kexec+0x78/0x12c panic+0x180/0x370 sysrq_handle_reboot+0x0/0x3c __handle_sysrq+0xf0/0x1d0 write_sysrq_trigger+0xac/0xcc proc_reg_write+0x8c/0x110 __vfs_write+0x4c/0x90 vfs_write+0xe8/0x1d0 ksys_write+0x7c/0x104 __arm64_sys_write+0x28/0x3c el0_svc_common.constprop.0+0x7c/0x1b4 el0_svc_handler+0x54/0xc0 el0_svc+0x8/0x204 Code: f94092a3 531e7662 aa0003e1 8b22c062 (b9400040) So enable the runtime PM with pm_runtime_enable(), but block the suspend of irqsteer with pm_runtime_forbid(). Signed-off-by:Xiaolei Wang <xiaolei.wang@windriver.com> Signed-off-by:
Bruce Ashfield <bruce.ashfield@gmail.com>
Loading
Please register or sign in to comment