|
@@ -195,24 +195,22 @@ void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe)
|
|
|
exynos_crtc->ops->disable_vblank(exynos_crtc);
|
|
|
}
|
|
|
|
|
|
-void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int pipe)
|
|
|
+void exynos_drm_crtc_finish_pageflip(struct exynos_drm_crtc *exynos_crtc)
|
|
|
{
|
|
|
- struct exynos_drm_private *dev_priv = dev->dev_private;
|
|
|
- struct drm_crtc *drm_crtc = dev_priv->crtc[pipe];
|
|
|
- struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(drm_crtc);
|
|
|
+ struct drm_crtc *crtc = &exynos_crtc->base;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&dev->event_lock, flags);
|
|
|
+ spin_lock_irqsave(&crtc->dev->event_lock, flags);
|
|
|
if (exynos_crtc->event) {
|
|
|
|
|
|
- drm_send_vblank_event(dev, pipe, exynos_crtc->event);
|
|
|
- drm_vblank_put(dev, pipe);
|
|
|
+ drm_crtc_send_vblank_event(crtc, exynos_crtc->event);
|
|
|
+ drm_crtc_vblank_put(crtc);
|
|
|
wake_up(&exynos_crtc->pending_flip_queue);
|
|
|
|
|
|
}
|
|
|
|
|
|
exynos_crtc->event = NULL;
|
|
|
- spin_unlock_irqrestore(&dev->event_lock, flags);
|
|
|
+ spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
|
|
|
}
|
|
|
|
|
|
void exynos_drm_crtc_complete_scanout(struct drm_framebuffer *fb)
|