drm/i915/dp: Write the source OUI for non-eDP sinks as well
authorImre Deak <imre.deak@intel.com>
Fri, 25 Oct 2024 16:02:59 +0000 (19:02 +0300)
committerImre Deak <imre.deak@intel.com>
Thu, 31 Oct 2024 16:11:18 +0000 (18:11 +0200)
At least the i-tec USB-C Nano 2x Display Docking Station (containing a
Synaptics MST branch device) requires the driver to update the source
OUI DPCD registers to expose its DSC capability. Accordingly update the
OUI for all sink types (besides eDP where this has been done already).

v2: Rebased on latest patch version.

Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11776
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241025160259.3088727-9-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp.c

index f884711..5fbb33b 100644 (file)
@@ -3410,9 +3410,6 @@ intel_dp_init_source_oui(struct intel_dp *intel_dp)
        u8 oui[] = { 0x00, 0xaa, 0x01 };
        u8 buf[3] = {};
 
-       if (!intel_dp_is_edp(intel_dp))
-               return;
-
        if (READ_ONCE(intel_dp->oui_valid))
                return;
 
@@ -6136,6 +6133,8 @@ intel_dp_hpd_pulse(struct intel_digital_port *dig_port, bool long_hpd)
 
        if (long_hpd) {
                intel_dp->reset_link_params = true;
+               intel_dp_invalidate_source_oui(intel_dp);
+
                return IRQ_NONE;
        }