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 = {
 
        }
 }
 
-/*
- * 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);
 
 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
 
        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)