Commit 5a5d24dc authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Simplify intel_ddi_get_encoder_port()

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
parent 1edaaa2f
...@@ -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_DP: case INTEL_OUTPUT_DP:
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