]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/i915: Pimp AUX CH names
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 28 Oct 2020 21:33:09 +0000 (23:33 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 30 Oct 2020 12:47:46 +0000 (14:47 +0200)
Let's make the AUX CH names match the spec (AUX A-F for pre-tgl,
AUX A-C or AUX USBC1-6 for tgl+). And while at it let's include
the full encoder name in the AUX CH name as well (as opposed to
just using port_name() which wouldn't give us the right thing on
tgl+).

Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201028213323.5423-6-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index b4f824383fe0c7f8e2156c758510c5f06230efd4..cf09aca7607b98030293f549385fee3b0863cc87 100644 (file)
@@ -1859,6 +1859,7 @@ intel_dp_aux_init(struct intel_dp *intel_dp)
        struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
        struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
        struct intel_encoder *encoder = &dig_port->base;
+       enum aux_ch aux_ch = dig_port->aux_ch;
 
        if (INTEL_GEN(dev_priv) >= 12) {
                intel_dp->aux_ch_ctl_reg = tgl_aux_ctl_reg;
@@ -1891,9 +1892,15 @@ intel_dp_aux_init(struct intel_dp *intel_dp)
        drm_dp_aux_init(&intel_dp->aux);
 
        /* Failure to allocate our preferred name is not critical */
-       intel_dp->aux.name = kasprintf(GFP_KERNEL, "AUX %c/port %c",
-                                      aux_ch_name(dig_port->aux_ch),
-                                      port_name(encoder->port));
+       if (INTEL_GEN(dev_priv) >= 12 && aux_ch >= AUX_CH_USBC1)
+               intel_dp->aux.name = kasprintf(GFP_KERNEL, "AUX USBC%c/%s",
+                                              aux_ch - AUX_CH_USBC1 + '1',
+                                              encoder->base.name);
+       else
+               intel_dp->aux.name = kasprintf(GFP_KERNEL, "AUX %c/%s",
+                                              aux_ch_name(aux_ch),
+                                              encoder->base.name);
+
        intel_dp->aux.transfer = intel_dp_aux_transfer;
 }