BXT introduces DSI ports, for which we need to skip the DDI port setup.
Also there is no real reason for having a BUG for unknown port types so
convert it to a WARN.

Signed-off-by: Imre Deak <imre.d...@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 31b29e8..9ae297a 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -210,7 +210,7 @@ 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,
+static bool ddi_get_encoder_port(struct intel_encoder *intel_encoder,
                                 struct intel_digital_port **dig_port,
                                 enum port *port)
 {
@@ -228,9 +228,10 @@ static void ddi_get_encoder_port(struct intel_encoder 
*intel_encoder,
                *dig_port = NULL;
                *port = PORT_E;
        } else {
-               DRM_ERROR("Invalid DDI encoder type %d\n", type);
-               BUG();
+               return false;
        }
+
+       return true;
 }
 
 enum port intel_ddi_get_encoder_port(struct intel_encoder *intel_encoder)
@@ -238,7 +239,8 @@ 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);
+       if (WARN_ON(!ddi_get_encoder_port(intel_encoder, &dig_port, &port)))
+               return PORT_A;
 
        return port;
 }
@@ -390,7 +392,8 @@ void intel_prepare_ddi(struct drm_device *dev)
                enum port port;
                bool supports_hdmi;
 
-               ddi_get_encoder_port(intel_encoder, &intel_dig_port, &port);
+               if (!ddi_get_encoder_port(intel_encoder, &intel_dig_port, 
&port))
+                       continue;
 
                if (visited[port])
                        continue;
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to