From: Ville Syrjälä <ville.syrj...@linux.intel.com>

We'll have a few places where we need to do the full (incl. ICL+ DSI)
DVO port->port conversion, so extract the code for that into a helper.

Suggested-by: Jani Nikula <jani.nik...@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c 
b/drivers/gpu/drm/i915/display/intel_bios.c
index ae83788177ce..c96bbbe4448e 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2374,6 +2374,19 @@ dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 
dvo_port)
        }
 }
 
+static enum port intel_bios_encoder_port(const struct intel_bios_encoder_data 
*devdata)
+{
+       struct drm_i915_private *i915 = devdata->i915;
+       const struct child_device_config *child = &devdata->child;
+       enum port port;
+
+       port = dvo_port_to_port(i915, child->dvo_port);
+       if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
+               port = dsi_dvo_port_to_port(i915, child->dvo_port);
+
+       return port;
+}
+
 static int parse_bdb_230_dp_max_link_rate(const int vbt_max_link_rate)
 {
        switch (vbt_max_link_rate) {
@@ -2613,12 +2626,9 @@ static void print_ddi_port(const struct 
intel_bios_encoder_data *devdata,
 static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
 {
        struct drm_i915_private *i915 = devdata->i915;
-       const struct child_device_config *child = &devdata->child;
        enum port port;
 
-       port = dvo_port_to_port(i915, child->dvo_port);
-       if (port == PORT_NONE && DISPLAY_VER(i915) >= 11)
-               port = dsi_dvo_port_to_port(i915, child->dvo_port);
+       port = intel_bios_encoder_port(devdata);
        if (port == PORT_NONE)
                return;
 
-- 
2.39.3

Reply via email to