[Intel-gfx] [PATCH 04/20] drm/i915: Give DDI encoders even better names

Lucas De Marchi lucas.demarchi at intel.com
Wed Oct 7 22:36:29 UTC 2020


On Tue, Oct 06, 2020 at 05:33:33PM +0300, Ville Syrjälä wrote:
>From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
>Let's pimp the DDI encoder->name to reflect what the spec calls them.
>Ie. on pre-tgl DDI A-F, on tgl+ DDI A-C or DDI TC1-6.
>
>Also since each encoder is really a combination of the DDI and the PHY
>we include the PHY name as well.
>
>ICL is a bit special since it already has the two different types
>of DDIs (combo or TC) but it still calls them just DDI A-F regarless
>of the type. For that let's add an extra "(TC)" note to remind
>is which type of DDI it really is.
>
>The code is darn ugly, but not sure there's much we can do about it.
>
>Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

this also achieves one of the goals of my old series I never
completed (https://patchwork.freedesktop.org/series/71330/).
I'm ok going this direction instead.


Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/i915/display/intel_ddi.c | 27 ++++++++++++++++++++++--
> 1 file changed, 25 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
>index d1e4cb04e90d..5a30bc6a6c49 100644
>--- a/drivers/gpu/drm/i915/display/intel_ddi.c
>+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
>@@ -5171,8 +5171,31 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port)
>
> 	encoder = &dig_port->base;
>
>-	drm_encoder_init(&dev_priv->drm, &encoder->base, &intel_ddi_funcs,
>-			 DRM_MODE_ENCODER_TMDS, "DDI %c", port_name(port));
>+	if (INTEL_GEN(dev_priv) >= 12) {
>+		enum tc_port tc_port = intel_port_to_tc(dev_priv, port);
>+
>+		drm_encoder_init(&dev_priv->drm, &encoder->base, &intel_ddi_funcs,
>+				 DRM_MODE_ENCODER_TMDS,
>+				 "DDI %s%c/PHY %s%c",
>+				 port >= PORT_TC1 ? "TC" : "",
>+				 port >= PORT_TC1 ? port_name(port) : port - PORT_TC1 + '1',
>+				 tc_port != TC_PORT_NONE ? "TC" : "",
>+				 tc_port != TC_PORT_NONE ? phy_name(phy) : tc_port - TC_PORT_TC1 + '1');
>+	} else if (INTEL_GEN(dev_priv) >= 11) {
>+		enum tc_port tc_port = intel_port_to_tc(dev_priv, port);
>+
>+		drm_encoder_init(&dev_priv->drm, &encoder->base, &intel_ddi_funcs,
>+				 DRM_MODE_ENCODER_TMDS,
>+				 "DDI %c%s/PHY %s%c",
>+				 port_name(port),
>+				 port >= PORT_C ? " (TC)" : "",
>+				 tc_port != TC_PORT_NONE ? "TC" : "",
>+				 tc_port != TC_PORT_NONE ? phy_name(phy) : tc_port - TC_PORT_TC1 + '1');
>+	} else {
>+		drm_encoder_init(&dev_priv->drm, &encoder->base, &intel_ddi_funcs,
>+				 DRM_MODE_ENCODER_TMDS,
>+				 "DDI %c/PHY %c", port_name(port),  phy_name(phy));
>+	}
>
> 	mutex_init(&dig_port->hdcp_mutex);
> 	dig_port->num_hdcp_streams = 0;
>-- 
>2.26.2
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list