• Da Lv's avatar
    drm: kirin: Fix for hikey620 display offset problem · ff57c651
    Da Lv authored
    The original HiKey (620) board has had a long running issue
    where when using a 1080p montior, the display would occasionally
    blink and come come back with a horizontal offset (usually also
    shifting the colors, depending on the value of the offset%4).
    
    After lots of analysis by HiSi developers, they found the issue
    was due to when running at 1080p, it was possible to hit the
    device memory bandwidth limits, which could cause the DSI signal
    to get out of sync.
    
    Unfortunately the DSI logic doesn't have the ability to
    automatically recover from this situation, but we can get a an
    LDI underflow interrupt when it happens.
    
    To then correct the issue, when we get an LDI underflow irq, we
    we can simply suspend and resume the display, which resets the
    hardware.
    
    Thus, this patch enables the ldi underflow interrupt, and
    initializes a workqueue that is used to suspend/resume the
    display to recover. Then when the irq occurs we clear it and
    schedule the workqueue to reset display engine.
    
    Cc: Rongrong Zou <zourongrong@gmail.com>
    Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: dri-devel <dri-devel@lists.freedesktop.org>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Acked-by: default avatarXinliang Liu <z.liuxinliang@hisilicon.com>
    Reviewed-by: default avatarSam Ravnborg <sam@ravnborg.org>
    Signed-off-by: default avatarDa Lv <lvda3@hisilicon.com>
    Signed-off-by: default avatarYidong Lin <linyidong@huawei.com>
    [jstultz: Reworded the commit message, checkpatch cleanups]
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190820230626.23253-2-john.stultz@linaro.org
    ff57c651
kirin_drm_ade.c 27.8 KB