[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