mirror of https://gitee.com/openkylin/linux.git
drm/stm: ltdc: check crtc state before enabling LIE
Following investigations of a hardware bug, the LIE interrupt can occur while the display controller is not activated. LIE interrupt (vblank) don't have to be set if the CRTC is not enabled. Signed-off-by: Yannick Fertre <yannick.fertre@st.com> Acked-by: Philippe Cornu <philippe.cornu@st.com> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> Link: https://patchwork.freedesktop.org/patch/msgid/1579601650-7055-1-git-send-email-yannick.fertre@st.com
This commit is contained in:
parent
544aa6cefb
commit
a6bd58c51a
|
@ -648,9 +648,14 @@ static const struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = {
|
|||
static int ltdc_crtc_enable_vblank(struct drm_crtc *crtc)
|
||||
{
|
||||
struct ltdc_device *ldev = crtc_to_ltdc(crtc);
|
||||
struct drm_crtc_state *state = crtc->state;
|
||||
|
||||
DRM_DEBUG_DRIVER("\n");
|
||||
reg_set(ldev->regs, LTDC_IER, IER_LIE);
|
||||
|
||||
if (state->enable)
|
||||
reg_set(ldev->regs, LTDC_IER, IER_LIE);
|
||||
else
|
||||
return -EPERM;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue