[PATCH 3/8] drm/i915: Init aux_ch even for HDMI DDI/TypeC ports
Imre Deak
imre.deak at intel.com
Mon Oct 29 13:37:49 UTC 2018
On 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.
Signed-off-by: Imre Deak <imre.deak at intel.com>
---
drivers/gpu/drm/i915/intel_ddi.c | 4 ++++
drivers/gpu/drm/i915/intel_dp.c | 2 +-
drivers/gpu/drm/i915/intel_drv.h | 8 +++++++-
drivers/gpu/drm/i915/intel_hdmi.c | 1 +
4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 32a080265d03..94cc4b636b7f 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -3555,6 +3555,8 @@ intel_ddi_init_dp_connector(struct intel_digital_port *intel_dig_port)
return NULL;
intel_dig_port->dp.output_reg = DDI_BUF_CTL(port);
+ intel_dig_port->aux_ch = intel_aux_ch(dig_port_to_i915(intel_dig_port),
+ port);
if (!intel_dp_init_connector(intel_dig_port, connector)) {
kfree(connector);
return NULL;
@@ -3718,6 +3720,8 @@ intel_ddi_init_hdmi_connector(struct intel_digital_port *intel_dig_port)
return NULL;
intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port);
+ intel_dig_port->aux_ch = intel_aux_ch(dig_port_to_i915(intel_dig_port),
+ port);
intel_hdmi_init_connector(intel_dig_port, connector);
return connector;
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index e843572ec738..ab40cc5ce59e 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1654,7 +1654,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) {
@@ -6706,6 +6705,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;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index a166f36361fd..c52c3d57c185 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1369,9 +1369,15 @@ dp_to_lspcon(struct intel_dp *intel_dp)
}
static inline struct drm_i915_private *
+dig_port_to_i915(struct intel_digital_port *dig_port)
+{
+ return to_i915(dig_port->base.base.dev);
+}
+
+static inline struct drm_i915_private *
dp_to_i915(struct intel_dp *intel_dp)
{
- return to_i915(dp_to_dig_port(intel_dp)->base.base.dev);
+ return dig_port_to_i915(dp_to_dig_port(intel_dp));
}
static inline struct intel_digital_port *
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 129b880bce64..b50c5497048a 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -2506,5 +2506,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);
}
--
2.13.2
More information about the Intel-gfx-trybot
mailing list