linux-stable/drivers/gpu/drm/rockchip
Marc Zyngier 5f9e93fed4 drm/rockchip: Clear all interrupts before requesting the IRQ
Calling request_irq() followed by disable_irq() is usually a bad idea,
specially if the interrupt can be pending, and you're not yet in a
position to handle it.

This is exactly what happens on my kevin system when rebooting in a
second kernel using kexec: Some interrupt is left pending from
the previous kernel, and we take it too early, before disable_irq()
could do anything.

Let's clear the pending interrupts as we initialize the HW, and move
the interrupt request after that point. This ensures that we're in
a sane state when the interrupt is requested.

Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
[adapted to recent rockchip-drm changes]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20180220130120.5254-2-marc.zyngier@arm.com
2018-03-14 14:02:05 +01:00
..
analogix_dp-rockchip.c drm/bridge: analogix_dp: Don't change psr while bridge is disabled 2018-03-14 11:29:31 +01:00
cdn-dp-core.c drm/drivers: drop redundant drm_edid_to_eld() calls 2017-11-07 17:43:35 +02:00
cdn-dp-core.h drm/rockchip: cdn-dp: retry to check sink count 2017-02-05 16:30:04 +08:00
cdn-dp-reg.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
cdn-dp-reg.h drm/rockchip: cdn-dp: Correct PHY register address 2017-03-13 15:59:26 -04:00
dw-mipi-dsi.c drm/rockchip: dw-mipi-dsi: Fix connector and encoder cleanup. 2018-03-08 17:32:52 +01:00
dw_hdmi-rockchip.c drm/rockchip: dw_hdmi: Move HDMI vpll clock enable to bind() 2018-03-08 17:32:53 +01:00
inno_hdmi.c drm/rockchip: inno_hdmi: reorder clk_disable_unprepare call in unbind 2018-03-08 17:32:52 +01:00
inno_hdmi.h
Kconfig drm/rockchip: add CONFIG_OF dependency for lvds 2017-11-06 10:31:17 -05:00
Makefile main drm pull request for v4.15 2017-11-15 20:42:10 -08:00
rockchip_drm_drv.c drm/rockchip: Don't use atomic constructs for psr 2018-03-08 23:28:53 +01:00
rockchip_drm_drv.h drm/rockchip: Don't use atomic constructs for psr 2018-03-08 23:28:53 +01:00
rockchip_drm_fb.c drm/rockchip: Use drm_fb_helper_lastclose() and _poll_changed() 2017-12-08 13:08:06 +01:00
rockchip_drm_fb.h
rockchip_drm_fbdev.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
rockchip_drm_fbdev.h
rockchip_drm_gem.c drm/rockchip: Respect page offset for PRIME mmap calls 2018-02-18 11:16:55 +01:00
rockchip_drm_gem.h drm/rockchip: support prime import sg table 2018-02-18 11:16:40 +01:00
rockchip_drm_psr.c drm/rockchip: Don't use atomic constructs for psr 2018-03-08 23:28:53 +01:00
rockchip_drm_psr.h drm/rockchip: analogix_dp: set psr activate/deactivate when enable/disable bridge 2018-03-08 23:07:01 +01:00
rockchip_drm_vop.c drm/rockchip: Clear all interrupts before requesting the IRQ 2018-03-14 14:02:05 +01:00
rockchip_drm_vop.h drm/rockchip: vop: fix NV12 video display error 2017-08-04 16:09:39 +08:00
rockchip_lvds.c drm/rockchip: lvds: Explicitly include pinctrl headers 2018-02-05 09:41:54 -08:00
rockchip_lvds.h drm/rockchip: Add support for Rockchip Soc LVDS 2017-09-08 14:57:26 +08:00
rockchip_vop_reg.c drm/rockchip: vop: add rk3126 vop support 2017-11-16 14:21:50 +08:00
rockchip_vop_reg.h drm/rockchip: vop: add rk3126 vop support 2017-11-16 14:21:50 +08:00