Commit f7d24902 authored by Imre Deak's avatar Imre Deak Committed by Daniel Vetter

drm/i915: stop using is_pch_edp() in intel_dp_init_connector()

is_pch_edp() will be removed in a follow-up patch, so replace it
with a check for the port and VBT info (for port-D eDP).

Also make things a bit clearer by using a switch on the ports.

v2:
- make the comment about not setting the conder type for DP clearer
  (Ville)
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 2de6905f
...@@ -2980,24 +2980,35 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port, ...@@ -2980,24 +2980,35 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
if (intel_dpd_is_edp(dev)) if (intel_dpd_is_edp(dev))
intel_dp->is_pch_edp = true; intel_dp->is_pch_edp = true;
type = DRM_MODE_CONNECTOR_DisplayPort;
/* /*
* FIXME : We need to initialize built-in panels before external panels. * FIXME : We need to initialize built-in panels before external panels.
* For X0, DP_C is fixed as eDP. Revisit this as part of VLV eDP cleanup * For X0, DP_C is fixed as eDP. Revisit this as part of VLV eDP cleanup
*/ */
if (IS_VALLEYVIEW(dev) && port == PORT_C) { switch (port) {
type = DRM_MODE_CONNECTOR_eDP; case PORT_A:
intel_encoder->type = INTEL_OUTPUT_EDP;
} else if (port == PORT_A || is_pch_edp(intel_dp)) {
type = DRM_MODE_CONNECTOR_eDP; type = DRM_MODE_CONNECTOR_eDP;
intel_encoder->type = INTEL_OUTPUT_EDP; break;
} else { case PORT_C:
/* The intel_encoder->type value may be INTEL_OUTPUT_UNKNOWN for if (IS_VALLEYVIEW(dev))
* DDI or INTEL_OUTPUT_DISPLAYPORT for the older gens, so don't type = DRM_MODE_CONNECTOR_eDP;
* rewrite it. break;
*/ case PORT_D:
type = DRM_MODE_CONNECTOR_DisplayPort; if (HAS_PCH_SPLIT(dev) && intel_dpd_is_edp(dev))
type = DRM_MODE_CONNECTOR_eDP;
break;
default: /* silence GCC warning */
break;
} }
/*
* For eDP we always set the encoder type to INTEL_OUTPUT_EDP, but
* for DP the encoder type can be set by the caller to
* INTEL_OUTPUT_UNKNOWN for DDI, so don't rewrite it.
*/
if (type == DRM_MODE_CONNECTOR_eDP)
intel_encoder->type = INTEL_OUTPUT_EDP;
drm_connector_init(dev, connector, &intel_dp_connector_funcs, type); drm_connector_init(dev, connector, &intel_dp_connector_funcs, type);
drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment