drm/i915: Simplify intel_ddi_get_encoder_port()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 12 Jul 2016 12:59:35 +0000 (15:59 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 2 Aug 2016 12:09:20 +0000 (15:09 +0300)
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: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1468328376-6380-9-git-send-email-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/intel_ddi.c

index 5720202db8f0422aeba28dedee38d3084c3d4a41..c581751a645acb76e01a5b286ce5bcc683e824bc 100644 (file)
@@ -301,44 +301,24 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = {
        { 154, 0x9A, 1, 128, true },    /* 9:   1200            0   */
 };
 
-static void ddi_get_encoder_port(struct intel_encoder *intel_encoder,
-                                struct intel_digital_port **dig_port,
-                                enum port *port)
+enum port intel_ddi_get_encoder_port(struct intel_encoder *encoder)
 {
-       struct drm_encoder *encoder = &intel_encoder->base;
-
-       switch (intel_encoder->type) {
+       switch (encoder->type) {
        case INTEL_OUTPUT_DP_MST:
-               *dig_port = enc_to_mst(encoder)->primary;
-               *port = (*dig_port)->port;
-               break;
-       default:
-               WARN(1, "Invalid DDI encoder type %d\n", intel_encoder->type);
-               /* fallthrough and treat as unknown */
+               return enc_to_mst(&encoder->base)->primary->port;
        case INTEL_OUTPUT_DP:
        case INTEL_OUTPUT_EDP:
        case INTEL_OUTPUT_HDMI:
        case INTEL_OUTPUT_UNKNOWN:
-               *dig_port = enc_to_dig_port(encoder);
-               *port = (*dig_port)->port;
-               break;
+               return enc_to_dig_port(&encoder->base)->port;
        case INTEL_OUTPUT_ANALOG:
-               *dig_port = NULL;
-               *port = PORT_E;
-               break;
+               return PORT_E;
+       default:
+               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 *
 skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
 {