mirror of https://gitee.com/openkylin/linux.git
7c4c55845c
Prevented re-enabling the vblank interrupt by drm_vblank_off and drm_vblank_get from mixer_wait_for_vblank returns error after drm_vblank_off. We get below warnings without this error handling because vblank reference count is mismatched by above sequence. setting mode 1920x1080-60Hz@XR24 on connectors 16, crtc 13 [ 19.900793] ------------[ cut here ]------------ [ 19.903959] WARNING: CPU: 0 PID: 0 at drivers/gpu/drm/drm_irq.c:1072 exynos_drm_crtc_finish_pageflip+0xac/0xdc() [ 19.914076] Modules linked in: [ 19.917116] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-rc4-00040-g3d729789-dirty #46 [ 19.925342] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [ 19.931437] [<c0014430>] (unwind_backtrace) from [<c001158c>] (show_stack+0x10/0x14) [ 19.939131] [<c001158c>] (show_stack) from [<c04cdd50>] (dump_stack+0x84/0xc4) [ 19.946329] [<c04cdd50>] (dump_stack) from [<c00226f4>] (warn_slowpath_common+0x80/0xb0) [ 19.954382] [<c00226f4>] (warn_slowpath_common) from [<c00227c0>] (warn_slowpath_null+0x1c/0x24) [ 19.963132] [<c00227c0>] (warn_slowpath_null) from [<c02c20cc>] (exynos_drm_crtc_finish_pageflip+0xac/0xdc) [ 19.972841] [<c02c20cc>] (exynos_drm_crtc_finish_pageflip) from [<c02cb7ec>] (mixer_irq_handler+0xdc/0x104) [ 19.982546] [<c02cb7ec>] (mixer_irq_handler) from [<c005c904>] (handle_irq_event_percpu+0x78/0x134) [ 19.991555] [<c005c904>] (handle_irq_event_percpu) from [<c005c9fc>] (handle_irq_event+0x3c/0x5c) [ 20.000395] [<c005c9fc>] (handle_irq_event) from [<c005f384>] (handle_fasteoi_irq+0xe0/0x1ac) [ 20.008885] [<c005f384>] (handle_fasteoi_irq) from [<c005bf88>] (generic_handle_irq+0x2c/0x3c) [ 20.017463] [<c005bf88>] (generic_handle_irq) from [<c005c254>] (__handle_domain_irq+0x7c/0xec) [ 20.026128] [<c005c254>] (__handle_domain_irq) from [<c0008698>] (gic_handle_irq+0x30/0x68) [ 20.034449] [<c0008698>] (gic_handle_irq) from [<c00120c0>] (__irq_svc+0x40/0x74) [ 20.041893] Exception stack(0xc06fff68 to 0xc06fffb0) [ 20.046923] ff60: 00000000 00000000 000052f6 c001b460 c06fe000 c07064e8 [ 20.055070] ff80: c04d743c c07392a2 c0739440 c06da340 ef7fca80 00000000 01000000 c06fffb0 [ 20.063212] ffa0: c000f24c c000f250 60000013 ffffffff [ 20.068245] [<c00120c0>] (__irq_svc) from [<c000f250>] (arch_cpu_idle+0x38/0x3c) [ 20.075611] [<c000f250>] (arch_cpu_idle) from [<c0050948>] (cpu_startup_entry+0x108/0x16c) [ 20.083846] [<c0050948>] (cpu_startup_entry) from [<c06aec5c>] (start_kernel+0x3a0/0x3ac) [ 20.091980] ---[ end trace 2c76ee0500489d1b ]--- Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
exynos_dp_core.c | ||
exynos_dp_core.h | ||
exynos_dp_reg.c | ||
exynos_dp_reg.h | ||
exynos_drm_buf.c | ||
exynos_drm_buf.h | ||
exynos_drm_connector.c | ||
exynos_drm_connector.h | ||
exynos_drm_core.c | ||
exynos_drm_crtc.c | ||
exynos_drm_crtc.h | ||
exynos_drm_dmabuf.c | ||
exynos_drm_dmabuf.h | ||
exynos_drm_dpi.c | ||
exynos_drm_drv.c | ||
exynos_drm_drv.h | ||
exynos_drm_dsi.c | ||
exynos_drm_encoder.c | ||
exynos_drm_encoder.h | ||
exynos_drm_fb.c | ||
exynos_drm_fb.h | ||
exynos_drm_fbdev.c | ||
exynos_drm_fbdev.h | ||
exynos_drm_fimc.c | ||
exynos_drm_fimc.h | ||
exynos_drm_fimd.c | ||
exynos_drm_g2d.c | ||
exynos_drm_g2d.h | ||
exynos_drm_gem.c | ||
exynos_drm_gem.h | ||
exynos_drm_gsc.c | ||
exynos_drm_gsc.h | ||
exynos_drm_iommu.c | ||
exynos_drm_iommu.h | ||
exynos_drm_ipp.c | ||
exynos_drm_ipp.h | ||
exynos_drm_plane.c | ||
exynos_drm_plane.h | ||
exynos_drm_rotator.c | ||
exynos_drm_rotator.h | ||
exynos_drm_vidi.c | ||
exynos_drm_vidi.h | ||
exynos_hdmi.c | ||
exynos_mixer.c | ||
exynos_mixer.h | ||
regs-fimc.h | ||
regs-gsc.h | ||
regs-hdmi.h | ||
regs-mixer.h | ||
regs-rotator.h | ||
regs-vp.h |