]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
Merge remote-tracking branches 'asoc/fix/dpcm', 'asoc/fix/imx', 'asoc/fix/msm8916...
[karo-tx-linux.git] / drivers / gpu / drm / rockchip / analogix_dp-rockchip.c
index ce5f2d1f9994113b6322a708f47f1e23049ef3ba..9606121fa185aad8c15127d46372d465409f8db7 100644 (file)
@@ -104,26 +104,18 @@ static void analogix_dp_psr_work(struct work_struct *work)
 {
        struct rockchip_dp_device *dp =
                                container_of(work, typeof(*dp), psr_work);
-       struct drm_crtc *crtc = dp->encoder.crtc;
-       int psr_state = dp->psr_state;
-       int vact_end;
        int ret;
        unsigned long flags;
 
-       if (!crtc)
-               return;
-
-       vact_end = crtc->mode.vtotal - crtc->mode.vsync_start + crtc->mode.vdisplay;
-
-       ret = rockchip_drm_wait_line_flag(dp->encoder.crtc, vact_end,
-                                         PSR_WAIT_LINE_FLAG_TIMEOUT_MS);
+       ret = rockchip_drm_wait_vact_end(dp->encoder.crtc,
+                                        PSR_WAIT_LINE_FLAG_TIMEOUT_MS);
        if (ret) {
                dev_err(dp->dev, "line flag interrupt did not arrive\n");
                return;
        }
 
        spin_lock_irqsave(&dp->psr_lock, flags);
-       if (psr_state == EDP_VSC_PSR_STATE_ACTIVE)
+       if (dp->psr_state == EDP_VSC_PSR_STATE_ACTIVE)
                analogix_dp_enable_psr(dp->dev);
        else
                analogix_dp_disable_psr(dp->dev);