OSDN Git Service

drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions
authorVinod Polimera <quic_vpolimer@quicinc.com>
Thu, 2 Mar 2023 16:33:14 +0000 (22:03 +0530)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 13 Mar 2023 01:43:50 +0000 (04:43 +0300)
Use atomic variants for encoder callback functions such that
certain states like self-refresh can be accessed as part of
enable/disable sequence.

Signed-off-by: Kalyan Thota <quic_kalyant@quicinc.com>
Signed-off-by: Vinod Polimera <quic_vpolimer@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/524738/
Link: https://lore.kernel.org/r/1677774797-31063-12-git-send-email-quic_vpolimer@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c

index c237003..01b7509 100644 (file)
@@ -1171,7 +1171,8 @@ out:
        mutex_unlock(&dpu_enc->enc_lock);
 }
 
-static void dpu_encoder_virt_enable(struct drm_encoder *drm_enc)
+static void dpu_encoder_virt_atomic_enable(struct drm_encoder *drm_enc,
+                                       struct drm_atomic_state *state)
 {
        struct dpu_encoder_virt *dpu_enc = NULL;
        int ret = 0;
@@ -1207,7 +1208,8 @@ out:
        mutex_unlock(&dpu_enc->enc_lock);
 }
 
-static void dpu_encoder_virt_disable(struct drm_encoder *drm_enc)
+static void dpu_encoder_virt_atomic_disable(struct drm_encoder *drm_enc,
+                                       struct drm_atomic_state *state)
 {
        struct dpu_encoder_virt *dpu_enc = NULL;
        int i = 0;
@@ -2388,8 +2390,8 @@ static void dpu_encoder_frame_done_timeout(struct timer_list *t)
 
 static const struct drm_encoder_helper_funcs dpu_encoder_helper_funcs = {
        .atomic_mode_set = dpu_encoder_virt_atomic_mode_set,
-       .disable = dpu_encoder_virt_disable,
-       .enable = dpu_encoder_virt_enable,
+       .atomic_disable = dpu_encoder_virt_atomic_disable,
+       .atomic_enable = dpu_encoder_virt_atomic_enable,
        .atomic_check = dpu_encoder_virt_atomic_check,
 };