drm/i915: Init aux_ch for HDMI ports too
authorImre Deak <imre.deak@intel.com>
Thu, 1 Nov 2018 14:04:22 +0000 (16:04 +0200)
committerImre Deak <imre.deak@intel.com>
Thu, 1 Nov 2018 23:24:00 +0000 (01:24 +0200)
From ICL onwards DDI/TypeC ports - even in HDMI static mode - need to know
which AUX CH belongs to them, so initialize aux_ch for those ports too.
For consistency do this for all HDMI ports, not only for DDI/TypeC ones.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181101140427.31026-4-imre.deak@intel.com
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_hdmi.c

index 78b96e86d8efe1257456cd806912de02161f3829..24944c362f37ffd85353ebd1a39f7183428d696f 100644 (file)
@@ -3901,6 +3901,7 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
                        (DDI_BUF_PORT_REVERSAL | DDI_A_4_LANES);
        intel_dig_port->dp.output_reg = INVALID_MMIO_REG;
        intel_dig_port->max_lanes = intel_ddi_max_lanes(intel_dig_port);
+       intel_dig_port->aux_ch = intel_aux_ch(dev_priv, port);
 
        switch (port) {
        case PORT_A:
index 0cfc727c2c7d8d241fb2bad31fe8590d60b5730e..552bb3d69ed06230721788080733645f6f0d2620 100644 (file)
@@ -1702,7 +1702,6 @@ intel_dp_aux_init(struct intel_dp *intel_dp)
        struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
        struct intel_encoder *encoder = &dig_port->base;
 
-       dig_port->aux_ch = intel_aux_ch(dev_priv, encoder->port);
        intel_dp->aux_power_domain = intel_aux_power_domain(intel_dp);
 
        if (INTEL_GEN(dev_priv) >= 9) {
@@ -6874,6 +6873,7 @@ bool intel_dp_init(struct drm_i915_private *dev_priv,
        if (port != PORT_A)
                intel_infoframe_init(intel_dig_port);
 
+       intel_dig_port->aux_ch = intel_aux_ch(dev_priv, port);
        if (!intel_dp_init_connector(intel_dig_port, intel_connector))
                goto err_init_connector;
 
index 654a49bbc6b23c028b04b499f539a30978a33c09..97d3d10d23a97d619423b13296a3c1a197c6eda4 100644 (file)
@@ -2514,5 +2514,6 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv,
 
        intel_infoframe_init(intel_dig_port);
 
+       intel_dig_port->aux_ch = intel_aux_ch(dev_priv, port);
        intel_hdmi_init_connector(intel_dig_port, intel_connector);
 }