]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Simplify vlv_wait_port_ready() arguments
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 13 Feb 2025 15:02:16 +0000 (17:02 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Sat, 15 Feb 2025 19:04:06 +0000 (21:04 +0200)
Currently vlv_wait_port_ready() takes the display+dig_port,
but all it really needs is the encoder. The display can be
dug out from therein.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250213150220.13580-9-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/g4x_dp.c
drivers/gpu/drm/i915/display/g4x_hdmi.c
drivers/gpu/drm/i915/display/intel_dpio_phy.c
drivers/gpu/drm/i915/display/intel_dpio_phy.h

index 0cb98cb043c6dbd1f59ea2d855b63c42d5e33e23..372c3683c193a98457c07b3c3d8a4f2cadbd2ec1 100644 (file)
@@ -701,7 +701,7 @@ static void intel_enable_dp(struct intel_atomic_state *state,
                if (display->platform.cherryview)
                        lane_mask = intel_dp_unused_lane_mask(pipe_config->lane_count);
 
-               vlv_wait_port_ready(display, dp_to_dig_port(intel_dp), lane_mask);
+               vlv_wait_port_ready(encoder, lane_mask);
        }
 
        intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
index 5c5eb3d621c8e659853c63b79ec9f5cbb5733819..d9d1304dcc368e8a9c506ff91165fb0043a87ee4 100644 (file)
@@ -479,7 +479,6 @@ static void vlv_hdmi_pre_enable(struct intel_atomic_state *state,
                                const struct intel_crtc_state *pipe_config,
                                const struct drm_connector_state *conn_state)
 {
-       struct intel_display *display = to_intel_display(encoder);
        struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
 
        vlv_phy_pre_encoder_enable(encoder, pipe_config);
@@ -495,7 +494,7 @@ static void vlv_hdmi_pre_enable(struct intel_atomic_state *state,
 
        g4x_hdmi_enable_port(encoder, pipe_config);
 
-       vlv_wait_port_ready(display, dig_port, 0x0);
+       vlv_wait_port_ready(encoder, 0x0);
 }
 
 static void vlv_hdmi_pre_pll_enable(struct intel_atomic_state *state,
@@ -556,7 +555,6 @@ static void chv_hdmi_pre_enable(struct intel_atomic_state *state,
                                const struct intel_crtc_state *pipe_config,
                                const struct drm_connector_state *conn_state)
 {
-       struct intel_display *display = to_intel_display(encoder);
        struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
 
        chv_phy_pre_encoder_enable(encoder, pipe_config);
@@ -571,7 +569,7 @@ static void chv_hdmi_pre_enable(struct intel_atomic_state *state,
 
        g4x_hdmi_enable_port(encoder, pipe_config);
 
-       vlv_wait_port_ready(display, dig_port, 0x0);
+       vlv_wait_port_ready(encoder, 0x0);
 
        /* Second common lane will stay alive on its own now */
        chv_phy_release_cl2_override(encoder);
index 968b795206b3bb89c9f1775f4580546c1f5c181b..429f895437890a86f99f4739b5bb63103dbe94c9 100644 (file)
@@ -1157,16 +1157,16 @@ void vlv_phy_reset_lanes(struct intel_encoder *encoder,
        vlv_dpio_put(dev_priv);
 }
 
-void vlv_wait_port_ready(struct intel_display *display,
-                        struct intel_digital_port *dig_port,
+void vlv_wait_port_ready(struct intel_encoder *encoder,
                         unsigned int expected_mask)
 {
+       struct intel_display *display = to_intel_display(encoder);
        u32 port_mask;
        i915_reg_t dpll_reg;
 
-       switch (dig_port->base.port) {
+       switch (encoder->port) {
        default:
-               MISSING_CASE(dig_port->base.port);
+               MISSING_CASE(encoder->port);
                fallthrough;
        case PORT_B:
                port_mask = DPLL_PORTB_READY_MASK;
@@ -1186,7 +1186,7 @@ void vlv_wait_port_ready(struct intel_display *display,
        if (intel_de_wait(display, dpll_reg, port_mask, expected_mask, 1000))
                drm_WARN(display->drm, 1,
                         "timed out waiting for [ENCODER:%d:%s] port ready: got 0x%x, expected 0x%x\n",
-                        dig_port->base.base.base.id, dig_port->base.base.name,
+                        encoder->base.base.id, encoder->base.name,
                         intel_de_read(display, dpll_reg) & port_mask,
                         expected_mask);
 }
index 15596407fe87394b9335a5d1d595664c6d7cb664..35baede3d6ad0c88f37e96e4446adcfc23ba1e15 100644 (file)
@@ -72,8 +72,7 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
                                const struct intel_crtc_state *crtc_state);
 void vlv_phy_reset_lanes(struct intel_encoder *encoder,
                         const struct intel_crtc_state *old_crtc_state);
-void vlv_wait_port_ready(struct intel_display *display,
-                        struct intel_digital_port *dig_port,
+void vlv_wait_port_ready(struct intel_encoder *encoder,
                         unsigned int expected_mask);
 #else
 static inline void bxt_port_to_phy_channel(struct intel_display *display, enum port port,
@@ -173,8 +172,7 @@ static inline void vlv_phy_reset_lanes(struct intel_encoder *encoder,
                                       const struct intel_crtc_state *old_crtc_state)
 {
 }
-static inline void vlv_wait_port_ready(struct intel_display *display,
-                                      struct intel_digital_port *dig_port,
+static inline void vlv_wait_port_ready(struct intel_encoder *encoder,
                                       unsigned int expected_mask)
 {
 }