Fold the poweron and setup functions into one function and use the
adjusted_mode directly from the new crtc_state to remove the need of
storing previous_mode.

Signed-off-by: Jonas Karlman <jo...@kwiboo.se>
---
v2: No change
---
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 87fb6fd5cffd..1eefa633ff78 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2236,9 +2236,9 @@ static void hdmi_disable_overflow_interrupts(struct 
dw_hdmi *hdmi)
                    HDMI_IH_MUTE_FC_STAT2);
 }
 
-static int dw_hdmi_setup(struct dw_hdmi *hdmi,
-                        const struct drm_connector *connector,
-                        const struct drm_display_mode *mode)
+static int dw_hdmi_poweron(struct dw_hdmi *hdmi,
+                          const struct drm_connector *connector,
+                          const struct drm_display_mode *mode)
 {
        const struct drm_display_info *display = &connector->display_info;
        int ret;
@@ -2378,15 +2378,6 @@ static void initialize_hdmi_ih_mutes(struct dw_hdmi 
*hdmi)
        hdmi_writeb(hdmi, ih_mute, HDMI_IH_MUTE);
 }
 
-static void dw_hdmi_poweron(struct dw_hdmi *hdmi)
-{
-       /*
-        * The curr_conn field is guaranteed to be valid here, as this function
-        * is only be called when !hdmi->disabled.
-        */
-       dw_hdmi_setup(hdmi, hdmi->curr_conn, &hdmi->previous_mode);
-}
-
 static void dw_hdmi_poweroff(struct dw_hdmi *hdmi)
 {
        if (hdmi->phy.enabled) {
@@ -2936,15 +2927,19 @@ static void dw_hdmi_bridge_atomic_enable(struct 
drm_bridge *bridge,
 {
        struct dw_hdmi *hdmi = bridge->driver_private;
        struct drm_atomic_state *state = old_state->base.state;
+       const struct drm_display_mode *mode;
        struct drm_connector *connector;
+       struct drm_crtc *crtc;
 
        connector = drm_atomic_get_new_connector_for_encoder(state,
                                                             bridge->encoder);
+       crtc = drm_atomic_get_new_connector_state(state, connector)->crtc;
+       mode = &drm_atomic_get_new_crtc_state(state, crtc)->adjusted_mode;
 
        mutex_lock(&hdmi->mutex);
        hdmi->disabled = false;
        hdmi->curr_conn = connector;
-       dw_hdmi_poweron(hdmi);
+       dw_hdmi_poweron(hdmi, connector, mode);
        dw_hdmi_update_phy_mask(hdmi);
        handle_plugged_change(hdmi, true);
        mutex_unlock(&hdmi->mutex);
-- 
2.46.0

Reply via email to