drm/msm/dpu: Remove encoder->enable() hack
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 #v1 Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-11-sean@poorly.run #v2 Link: https://patchwork.freedesktop.org/patch/msgid/20211001151145.55916-11-sean@poorly.run #v3 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>
This commit is contained in:
parent
fa063950c3
commit
88e2d5b160
|
@ -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 = {
|
static const struct drm_encoder_helper_funcs dpu_encoder_helper_funcs = {
|
||||||
.mode_set = dpu_encoder_virt_mode_set,
|
.mode_set = dpu_encoder_virt_mode_set,
|
||||||
.disable = dpu_encoder_virt_disable,
|
.disable = dpu_encoder_virt_disable,
|
||||||
.enable = dpu_kms_encoder_enable,
|
.enable = dpu_encoder_virt_enable,
|
||||||
.atomic_check = dpu_encoder_virt_atomic_check,
|
.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 = {
|
static const struct drm_encoder_funcs dpu_encoder_funcs = {
|
||||||
|
|
|
@ -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)
|
static void dpu_kms_complete_commit(struct msm_kms *kms, unsigned crtc_mask)
|
||||||
{
|
{
|
||||||
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
|
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
|
||||||
|
|
|
@ -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);
|
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_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_get_clk_rate() - get the clock rate
|
||||||
* @dpu_kms: pointer to dpu_kms structure
|
* @dpu_kms: pointer to dpu_kms structure
|
||||||
|
|
|
@ -266,10 +266,6 @@ DEFINE_EVENT(dpu_drm_obj_template, dpu_crtc_complete_commit,
|
||||||
TP_PROTO(uint32_t drm_id),
|
TP_PROTO(uint32_t drm_id),
|
||||||
TP_ARGS(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,
|
DEFINE_EVENT(dpu_drm_obj_template, dpu_kms_commit,
|
||||||
TP_PROTO(uint32_t drm_id),
|
TP_PROTO(uint32_t drm_id),
|
||||||
TP_ARGS(drm_id)
|
TP_ARGS(drm_id)
|
||||||
|
|
Loading…
Reference in New Issue