Message ID | 20220215141643.3444941-1-dmitry.baryshkov@linaro.org |
---|---|
Headers | show |
Series | drm/msm/dpu: cleanup dpu encoder code | expand |
On Tue 15 Feb 08:16 CST 2022, Dmitry Baryshkov wrote: > Both cmd and vid backends provide useless mode_fixup() callback. Drop > it. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 4 ---- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 4 ---- > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 10 ---------- > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 14 -------------- > 4 files changed, 32 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > index 480d02ccff8c..394916e8fe08 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c > @@ -602,10 +602,6 @@ static int dpu_encoder_virt_atomic_check( > if (phys->ops.atomic_check) > ret = phys->ops.atomic_check(phys, crtc_state, > conn_state); > - else if (phys->ops.mode_fixup) > - if (!phys->ops.mode_fixup(phys, mode, adj_mode)) > - ret = -EINVAL; > - > if (ret) { > DPU_ERROR_ENC(dpu_enc, > "mode unsupported, phys idx %d\n", i); > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h > index e7270eb6b84b..7b14948c4c87 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h > @@ -84,7 +84,6 @@ struct dpu_encoder_virt_ops { > * @is_master: Whether this phys_enc is the current master > * encoder. Can be switched at enable time. Based > * on split_role and current mode (CMD/VID). > - * @mode_fixup: DRM Call. Fixup a DRM mode. > * @mode_set: DRM Call. Set a DRM mode. > * This likely caches the mode, for use at enable. > * @enable: DRM Call. Enable a DRM mode. > @@ -117,9 +116,6 @@ struct dpu_encoder_phys_ops { > struct dentry *debugfs_root); > void (*prepare_commit)(struct dpu_encoder_phys *encoder); > bool (*is_master)(struct dpu_encoder_phys *encoder); > - bool (*mode_fixup)(struct dpu_encoder_phys *encoder, > - const struct drm_display_mode *mode, > - struct drm_display_mode *adjusted_mode); > void (*mode_set)(struct dpu_encoder_phys *encoder, > struct drm_display_mode *mode, > struct drm_display_mode *adjusted_mode); > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c > index 35071964d0f6..1796f83b47ae 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c > @@ -45,15 +45,6 @@ static bool dpu_encoder_phys_cmd_is_master(struct dpu_encoder_phys *phys_enc) > return (phys_enc->split_role != ENC_ROLE_SLAVE); > } > > -static bool dpu_encoder_phys_cmd_mode_fixup( > - struct dpu_encoder_phys *phys_enc, > - const struct drm_display_mode *mode, > - struct drm_display_mode *adj_mode) > -{ > - DPU_DEBUG_CMDENC(to_dpu_encoder_phys_cmd(phys_enc), "\n"); > - return true; > -} > - > static void _dpu_encoder_phys_cmd_update_intf_cfg( > struct dpu_encoder_phys *phys_enc) > { > @@ -756,7 +747,6 @@ static void dpu_encoder_phys_cmd_init_ops( > ops->prepare_commit = dpu_encoder_phys_cmd_prepare_commit; > ops->is_master = dpu_encoder_phys_cmd_is_master; > ops->mode_set = dpu_encoder_phys_cmd_mode_set; > - ops->mode_fixup = dpu_encoder_phys_cmd_mode_fixup; > ops->enable = dpu_encoder_phys_cmd_enable; > ops->disable = dpu_encoder_phys_cmd_disable; > ops->destroy = dpu_encoder_phys_cmd_destroy; > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c > index ddd9d89cd456..1831fe37c88c 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c > @@ -225,19 +225,6 @@ static void programmable_fetch_config(struct dpu_encoder_phys *phys_enc, > spin_unlock_irqrestore(phys_enc->enc_spinlock, lock_flags); > } > > -static bool dpu_encoder_phys_vid_mode_fixup( > - struct dpu_encoder_phys *phys_enc, > - const struct drm_display_mode *mode, > - struct drm_display_mode *adj_mode) > -{ > - DPU_DEBUG_VIDENC(phys_enc, "\n"); > - > - /* > - * Modifying mode has consequences when the mode comes back to us > - */ > - return true; > -} > - > static void dpu_encoder_phys_vid_setup_timing_engine( > struct dpu_encoder_phys *phys_enc) > { > @@ -676,7 +663,6 @@ static void dpu_encoder_phys_vid_init_ops(struct dpu_encoder_phys_ops *ops) > { > ops->is_master = dpu_encoder_phys_vid_is_master; > ops->mode_set = dpu_encoder_phys_vid_mode_set; > - ops->mode_fixup = dpu_encoder_phys_vid_mode_fixup; > ops->enable = dpu_encoder_phys_vid_enable; > ops->disable = dpu_encoder_phys_vid_disable; > ops->destroy = dpu_encoder_phys_vid_destroy; > -- > 2.34.1 >
Quoting Dmitry Baryshkov (2022-02-15 06:16:37) > The msm_display_info structure is not used by the rest of msm driver, so > move it into the dpu1 (dpu_encoder.h to be precise). > > Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Quoting Dmitry Baryshkov (2022-02-15 06:16:39) > We do not use MSM bus client, so drop bus_scaling_client field from > dpu_encoder_virt. > > Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Quoting Dmitry Baryshkov (2022-02-15 06:16:40) > Both cmd and vid backends provide useless mode_fixup() callback. Drop > it. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Quoting Dmitry Baryshkov (2022-02-15 06:16:42) > All physical encoders used by virtual encoder share the same connector, > so pull the connector field from dpu_encoder_phys into dpu_encoder_virt > structure. What is the benefit? Less code? Clearer association?
On Wed, 16 Feb 2022 at 05:00, Stephen Boyd <swboyd@chromium.org> wrote: > > Quoting Dmitry Baryshkov (2022-02-15 06:16:42) > > All physical encoders used by virtual encoder share the same connector, > > so pull the connector field from dpu_encoder_phys into dpu_encoder_virt > > structure. > > What is the benefit? Less code? Clearer association? Clearer association. Otherwise code suggests that different phys_encs can have different connectors.
Quoting Dmitry Baryshkov (2022-02-15 18:13:09) > On Wed, 16 Feb 2022 at 05:00, Stephen Boyd <swboyd@chromium.org> wrote: > > > > Quoting Dmitry Baryshkov (2022-02-15 06:16:42) > > > All physical encoders used by virtual encoder share the same connector, > > > so pull the connector field from dpu_encoder_phys into dpu_encoder_virt > > > structure. > > > > What is the benefit? Less code? Clearer association? > > Clearer association. Otherwise code suggests that different phys_encs > can have different connectors. Got it. With that info added to the commit text Reviewed-by: Stephen Boyd <swboyd@chromium.org>