drm/i915: Introduce g4x_hdmi_compute_config()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 7 Nov 2022 19:46:00 +0000 (21:46 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 17 Nov 2022 17:11:07 +0000 (19:11 +0200)
Start pulling some of the more platform specific things out from
intel_hdmi_compute_config(). has_pch_encoder is clearly one
such thing.

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

index 75ba24c9785f83871ed45b9c4dda0062d772fae7..121caeaa409b6c96c93a792396dfc8fbf9747ec9 100644 (file)
@@ -79,6 +79,18 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
        return ret;
 }
 
+static int g4x_hdmi_compute_config(struct intel_encoder *encoder,
+                                  struct intel_crtc_state *crtc_state,
+                                  struct drm_connector_state *conn_state)
+{
+       struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+
+       if (HAS_PCH_SPLIT(i915))
+               crtc_state->has_pch_encoder = true;
+
+       return intel_hdmi_compute_config(encoder, crtc_state, conn_state);
+}
+
 static void intel_hdmi_get_config(struct intel_encoder *encoder,
                                  struct intel_crtc_state *pipe_config)
 {
@@ -544,7 +556,7 @@ void g4x_hdmi_init(struct drm_i915_private *dev_priv,
                         "HDMI %c", port_name(port));
 
        intel_encoder->hotplug = intel_hdmi_hotplug;
-       intel_encoder->compute_config = intel_hdmi_compute_config;
+       intel_encoder->compute_config = g4x_hdmi_compute_config;
        if (HAS_PCH_SPLIT(dev_priv)) {
                intel_encoder->disable = pch_disable_hdmi;
                intel_encoder->post_disable = pch_post_disable_hdmi;
index 1119eb423a5f2430adc3e7681986ddbcee7e41b5..389fa36c91e7d2de95889403ae115a729944eb10 100644 (file)
@@ -2258,9 +2258,6 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
        if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK)
                pipe_config->pixel_multiplier = 2;
 
-       if (HAS_PCH_SPLIT(dev_priv) && !HAS_DDI(dev_priv))
-               pipe_config->has_pch_encoder = true;
-
        pipe_config->has_audio =
                intel_hdmi_has_audio(encoder, pipe_config, conn_state);