From: Gustavo Padovan gustavo.padovan@collabora.co.uk
hdmi_commit() was getting called twice by exynos encoder core, once inside the .enable() call and another time by .commit() itself.
Signed-off-by: Gustavo Padovan gustavo.padovan@collabora.co.uk --- drivers/gpu/drm/exynos/exynos_hdmi.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index a0443dc..1fc01fe 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c @@ -2019,20 +2019,6 @@ static void hdmi_mode_set(struct exynos_drm_encoder *encoder, hdmi_v14_mode_set(hdata, mode); }
-static void hdmi_commit(struct exynos_drm_encoder *encoder) -{ - struct hdmi_context *hdata = encoder_to_hdmi(encoder); - - mutex_lock(&hdata->hdmi_mutex); - if (!hdata->powered) { - mutex_unlock(&hdata->hdmi_mutex); - return; - } - mutex_unlock(&hdata->hdmi_mutex); - - hdmi_conf_apply(hdata); -} - static void hdmi_enable(struct exynos_drm_encoder *encoder) { struct hdmi_context *hdata = encoder_to_hdmi(encoder); @@ -2061,7 +2047,7 @@ static void hdmi_enable(struct exynos_drm_encoder *encoder) clk_prepare_enable(res->sclk_hdmi);
hdmiphy_poweron(hdata); - hdmi_commit(encoder); + hdmi_conf_apply(hdata); }
static void hdmi_disable(struct exynos_drm_encoder *encoder) @@ -2121,7 +2107,6 @@ static struct exynos_drm_encoder_ops hdmi_encoder_ops = { .mode_set = hdmi_mode_set, .enable = hdmi_enable, .disable = hdmi_disable, - .commit = hdmi_commit, };
static void hdmi_hotplug_work_func(struct work_struct *work)