drm/i915: Move hpd_pin setup to encoder init
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 30 Jun 2020 21:55:58 +0000 (00:55 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 15 Sep 2020 14:49:01 +0000 (17:49 +0300)
Currently DP/HDMI/DDI encoders init their hpd_pin from the
connector init. Let's move it to the encoder init so that
we don't need to add platform specific junk to the connector
init (which is shared by all g4x+ platforms).

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200630215601.28557-10-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_hdmi.c

index 6af080542c969b794600b18c3c0fe8b88657f3ff..8074886c2965c8c8e2a6874f18a15aa502d940e8 100644 (file)
@@ -5050,6 +5050,7 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
        encoder->port = port;
        encoder->cloneable = 0;
        encoder->pipe_mask = ~0;
+       encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
 
        if (INTEL_GEN(dev_priv) >= 11)
                dig_port->saved_port_bits =
index 1a8185f8fb8ea1b00ad6361116eb3f5c4f5dabaa..4bd10456ad1881318b36e67eec73a19f13a2e18b 100644 (file)
@@ -7601,7 +7601,6 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
        if (INTEL_GEN(dev_priv) >= 11)
                connector->ycbcr_420_allowed = true;
 
-       intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
        intel_connector->polled = DRM_CONNECTOR_POLL_HPD;
 
        intel_dp_aux_init(intel_dp);
@@ -7746,6 +7745,7 @@ bool intel_dp_init(struct drm_i915_private *dev_priv,
        }
        intel_encoder->cloneable = 0;
        intel_encoder->port = port;
+       intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
 
        dig_port->hpd_pulse = intel_dp_hpd_pulse;
 
index 04f59516d5f315b727ba623acd969c16e4f3ec01..40620c3d7a30c65ae9d238b77e4d6e8d79064d91 100644 (file)
@@ -3259,7 +3259,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
        if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
                connector->ycbcr_420_allowed = true;
 
-       intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
        intel_connector->polled = DRM_CONNECTOR_POLL_HPD;
 
        if (HAS_DDI(dev_priv))
@@ -3393,6 +3392,7 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv,
                intel_encoder->pipe_mask = ~0;
        }
        intel_encoder->cloneable = 1 << INTEL_OUTPUT_ANALOG;
+       intel_encoder->hpd_pin = intel_hpd_pin_default(dev_priv, port);
        /*
         * BSpec is unclear about HDMI+HDMI cloning on g4x, but it seems
         * to work on real hardware. And since g4x can send infoframes to