• Joonyoung Shim's avatar
    drm/exynos: fix warning of vblank reference count · 7c4c5584
    Joonyoung Shim authored
    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: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
    Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
    7c4c5584
exynos_mixer.c 34.1 KB