OSDN Git Service

drm/i915/xelpd: Provide port/phy mapping for vbt
authorJosé Roberto de Souza <jose.souza@intel.com>
Fri, 14 May 2021 15:36:58 +0000 (08:36 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Sat, 15 May 2021 02:47:38 +0000 (19:47 -0700)
This will allow proper DDI initialization based on vbt information.

Cc: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210514153711.2359617-7-matthew.d.roper@intel.com
drivers/gpu/drm/i915/display/intel_bios.c

index e67d998..5b6922e 100644 (file)
@@ -1743,8 +1743,24 @@ static enum port dvo_port_to_port(struct drm_i915_private *i915,
                [PORT_TC3] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1 },
                [PORT_TC4] = { DVO_PORT_HDMIE, DVO_PORT_DPE, -1 },
        };
+       static const int xelpd_port_mapping[][3] = {
+               [PORT_A] = { DVO_PORT_HDMIA, DVO_PORT_DPA, -1 },
+               [PORT_B] = { DVO_PORT_HDMIB, DVO_PORT_DPB, -1 },
+               [PORT_C] = { DVO_PORT_HDMIC, DVO_PORT_DPC, -1 },
+               [PORT_D_XELPD] = { DVO_PORT_HDMID, DVO_PORT_DPD, -1 },
+               [PORT_E_XELPD] = { DVO_PORT_HDMIE, DVO_PORT_DPE, -1 },
+               [PORT_TC1] = { DVO_PORT_HDMIF, DVO_PORT_DPF, -1 },
+               [PORT_TC2] = { DVO_PORT_HDMIG, DVO_PORT_DPG, -1 },
+               [PORT_TC3] = { DVO_PORT_HDMIH, DVO_PORT_DPH, -1 },
+               [PORT_TC4] = { DVO_PORT_HDMII, DVO_PORT_DPI, -1 },
+       };
 
-       if (IS_ALDERLAKE_S(i915))
+       if (DISPLAY_VER(i915) == 13)
+               return __dvo_port_to_port(ARRAY_SIZE(xelpd_port_mapping),
+                                         ARRAY_SIZE(xelpd_port_mapping[0]),
+                                         xelpd_port_mapping,
+                                         dvo_port);
+       else if (IS_ALDERLAKE_S(i915))
                return __dvo_port_to_port(ARRAY_SIZE(adls_port_mapping),
                                          ARRAY_SIZE(adls_port_mapping[0]),
                                          adls_port_mapping,