Commit beb9246a authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Stefan Bader

drm/i915: Simplify intel_ddi_get_encoder_port()

BugLink: http://bugs.launchpad.net/bugs/1770565

We no longer have any need to look up the intel_digital_port based
on the passed in intel_encoder, but we still want to look up the port.
Let's just move that logic into intel_ddi_get_encoder_port() and drop
the dig_port stuff.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1468328376-6380-9-git-send-email-ville.syrjala@linux.intel.com

(backported from commit 5a5d24dc)
Signed-off-by: default avatarTimo Aaltonen <timo.aaltonen@canonical.com>
Acked-by: default avatarStefan Bader <stefan.bader@canonical.com>
Acked-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
parent 6c04c45f
...@@ -301,44 +301,24 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = { ...@@ -301,44 +301,24 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = {
{ 154, 0x9A, 1, 128, true }, /* 9: 1200 0 */ { 154, 0x9A, 1, 128, true }, /* 9: 1200 0 */
}; };
static void ddi_get_encoder_port(struct intel_encoder *intel_encoder, enum port intel_ddi_get_encoder_port(struct intel_encoder *encoder)
struct intel_digital_port **dig_port,
enum port *port)
{ {
struct drm_encoder *encoder = &intel_encoder->base; switch (encoder->type) {
switch (intel_encoder->type) {
case INTEL_OUTPUT_DP_MST: case INTEL_OUTPUT_DP_MST:
*dig_port = enc_to_mst(encoder)->primary; return enc_to_mst(&encoder->base)->primary->port;
*port = (*dig_port)->port;
break;
default:
WARN(1, "Invalid DDI encoder type %d\n", intel_encoder->type);
/* fallthrough and treat as unknown */
case INTEL_OUTPUT_DISPLAYPORT: case INTEL_OUTPUT_DISPLAYPORT:
case INTEL_OUTPUT_EDP: case INTEL_OUTPUT_EDP:
case INTEL_OUTPUT_HDMI: case INTEL_OUTPUT_HDMI:
case INTEL_OUTPUT_UNKNOWN: case INTEL_OUTPUT_UNKNOWN:
*dig_port = enc_to_dig_port(encoder); return enc_to_dig_port(&encoder->base)->port;
*port = (*dig_port)->port;
break;
case INTEL_OUTPUT_ANALOG: case INTEL_OUTPUT_ANALOG:
*dig_port = NULL; return PORT_E;
*port = PORT_E; default:
break; MISSING_CASE(encoder->type);
return PORT_A;
} }
} }
enum port intel_ddi_get_encoder_port(struct intel_encoder *intel_encoder)
{
struct intel_digital_port *dig_port;
enum port port;
ddi_get_encoder_port(intel_encoder, &dig_port, &port);
return port;
}
static const struct ddi_buf_trans * static const struct ddi_buf_trans *
skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries) skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
{ {
......
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