OSDN Git Service

drm/msm/dpu: Remove encoder->enable() hack
authorSean Paul <seanpaul@chromium.org>
Fri, 5 Nov 2021 03:04:27 +0000 (23:04 -0400)
committerRob Clark <robdclark@chromium.org>
Tue, 7 Dec 2021 22:47:10 +0000 (14:47 -0800)
encoder->commit() was being misused because there were some global
resources which needed to be tweaked in encoder->enable() which were not
accessible in dpu_encoder.c. That is no longer true and the redirect
serves no purpose any longer. So remove the indirection.

Tested-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-11-sean@poorly.run
Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-11-sean@poorly.run
Link: https://patchwork.freedesktop.org/patch/msgid/20211001151145.55916-11-sean@poorly.run
Changes in v2:
-None
Changes in v3:
-None
Changes in v4:
-None
Link: https://lore.kernel.org/r/20211105030434.2828845-11-sean@poorly.run
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h

index cc57c61..c83bfda 100644 (file)
@@ -2116,11 +2116,8 @@ static void dpu_encoder_frame_done_timeout(struct timer_list *t)
 static const struct drm_encoder_helper_funcs dpu_encoder_helper_funcs = {
        .mode_set = dpu_encoder_virt_mode_set,
        .disable = dpu_encoder_virt_disable,
-       .enable = dpu_kms_encoder_enable,
+       .enable = dpu_encoder_virt_enable,
        .atomic_check = dpu_encoder_virt_atomic_check,
-
-       /* This is called by dpu_kms_encoder_enable */
-       .commit = dpu_encoder_virt_enable,
 };
 
 static const struct drm_encoder_funcs dpu_encoder_funcs = {
index ba1075a..2bd258e 100644 (file)
@@ -384,28 +384,6 @@ static void dpu_kms_flush_commit(struct msm_kms *kms, unsigned crtc_mask)
        }
 }
 
-/*
- * Override the encoder enable since we need to setup the inline rotator and do
- * some crtc magic before enabling any bridge that might be present.
- */
-void dpu_kms_encoder_enable(struct drm_encoder *encoder)
-{
-       const struct drm_encoder_helper_funcs *funcs = encoder->helper_private;
-       struct drm_device *dev = encoder->dev;
-       struct drm_crtc *crtc;
-
-       /* Forward this enable call to the commit hook */
-       if (funcs && funcs->commit)
-               funcs->commit(encoder);
-
-       drm_for_each_crtc(crtc, dev) {
-               if (!(crtc->state->encoder_mask & drm_encoder_mask(encoder)))
-                       continue;
-
-               trace_dpu_kms_enc_enable(DRMID(crtc));
-       }
-}
-
 static void dpu_kms_complete_commit(struct msm_kms *kms, unsigned crtc_mask)
 {
        struct dpu_kms *dpu_kms = to_dpu_kms(kms);
index 775bcbd..0707b2c 100644 (file)
@@ -235,8 +235,6 @@ void *dpu_debugfs_get_root(struct dpu_kms *dpu_kms);
 int dpu_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
 void dpu_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
 
-void dpu_kms_encoder_enable(struct drm_encoder *encoder);
-
 /**
  * dpu_kms_get_clk_rate() - get the clock rate
  * @dpu_kms:  pointer to dpu_kms structure
index 37bba57..54d7434 100644 (file)
@@ -266,10 +266,6 @@ DEFINE_EVENT(dpu_drm_obj_template, dpu_crtc_complete_commit,
        TP_PROTO(uint32_t drm_id),
        TP_ARGS(drm_id)
 );
-DEFINE_EVENT(dpu_drm_obj_template, dpu_kms_enc_enable,
-       TP_PROTO(uint32_t drm_id),
-       TP_ARGS(drm_id)
-);
 DEFINE_EVENT(dpu_drm_obj_template, dpu_kms_commit,
        TP_PROTO(uint32_t drm_id),
        TP_ARGS(drm_id)