[Freedreno] [PATCH v3 10/14] drm/msm/dpu: Remove encoder->enable() hack
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Mon Oct 4 22:52:04 UTC 2021
On 01/10/2021 18:11, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
>
> 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.
>
> Reviewed-by: Stephen Boyd <swboyd at chromium.org>
> Tested-by: Stephen Boyd <swboyd at chromium.org>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-11-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-11-sean@poorly.run #v2
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>
> Changes in v2:
> -None
> Changes in v3:
> -None
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 5 +----
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 22 ---------------------
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 2 --
> drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 4 ----
> 4 files changed, 1 insertion(+), 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 984f8a59cb73..ddc542a0d41f 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -2122,11 +2122,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 = {
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> index fb0d9f781c66..4a0b55d145ad 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> @@ -381,28 +381,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);
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> index 323a6bce9e64..f1ebb60dacab 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> @@ -248,8 +248,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
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> index 37bba57675a8..54d74341e690 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
> @@ -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)
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list