Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
[cascardo/linux.git] / drivers / gpu / drm / i915 / intel_dvo.c
index 286baec..a456f2e 100644 (file)
@@ -406,6 +406,18 @@ intel_dvo_get_current_mode(struct drm_connector *connector)
        return mode;
 }
 
+static char intel_dvo_port_name(i915_reg_t dvo_reg)
+{
+       if (i915_mmio_reg_equal(dvo_reg, DVOA))
+               return 'A';
+       else if (i915_mmio_reg_equal(dvo_reg, DVOB))
+               return 'B';
+       else if (i915_mmio_reg_equal(dvo_reg, DVOC))
+               return 'C';
+       else
+               return '?';
+}
+
 void intel_dvo_init(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
@@ -428,8 +440,6 @@ void intel_dvo_init(struct drm_device *dev)
        intel_dvo->attached_connector = intel_connector;
 
        intel_encoder = &intel_dvo->base;
-       drm_encoder_init(dev, &intel_encoder->base,
-                        &intel_dvo_enc_funcs, encoder_type, NULL);
 
        intel_encoder->disable = intel_disable_dvo;
        intel_encoder->enable = intel_enable_dvo;
@@ -496,6 +506,10 @@ void intel_dvo_init(struct drm_device *dev)
                if (!dvoinit)
                        continue;
 
+               drm_encoder_init(dev, &intel_encoder->base,
+                                &intel_dvo_enc_funcs, encoder_type,
+                                "DVO %c", intel_dvo_port_name(dvo->dvo_reg));
+
                intel_encoder->type = INTEL_OUTPUT_DVO;
                intel_encoder->crtc_mask = (1 << 0) | (1 << 1);
                switch (dvo->type) {