mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
drm/imx: fix crtc vblank state regression
The atomic conversion lost the notification to let the DRM core know about the current state of the CRTC vblank interrupts. This regressed the ability of the core to reject page flip attempts on currently disabled CRTCs. Add back the notifications. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
parent
c6c1f9bc79
commit
a474478642
1 changed files with 4 additions and 0 deletions
|
@ -76,6 +76,8 @@ static void ipu_crtc_disable(struct drm_crtc *crtc)
|
||||||
crtc->state->event = NULL;
|
crtc->state->event = NULL;
|
||||||
}
|
}
|
||||||
spin_unlock_irq(&crtc->dev->event_lock);
|
spin_unlock_irq(&crtc->dev->event_lock);
|
||||||
|
|
||||||
|
drm_crtc_vblank_off(crtc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void imx_drm_crtc_reset(struct drm_crtc *crtc)
|
static void imx_drm_crtc_reset(struct drm_crtc *crtc)
|
||||||
|
@ -175,6 +177,8 @@ static int ipu_crtc_atomic_check(struct drm_crtc *crtc,
|
||||||
static void ipu_crtc_atomic_begin(struct drm_crtc *crtc,
|
static void ipu_crtc_atomic_begin(struct drm_crtc *crtc,
|
||||||
struct drm_crtc_state *old_crtc_state)
|
struct drm_crtc_state *old_crtc_state)
|
||||||
{
|
{
|
||||||
|
drm_crtc_vblank_on(crtc);
|
||||||
|
|
||||||
spin_lock_irq(&crtc->dev->event_lock);
|
spin_lock_irq(&crtc->dev->event_lock);
|
||||||
if (crtc->state->event) {
|
if (crtc->state->event) {
|
||||||
WARN_ON(drm_crtc_vblank_get(crtc));
|
WARN_ON(drm_crtc_vblank_get(crtc));
|
||||||
|
|
Loading…
Reference in a new issue