diff mbox series

[v5,8/8] drm/i915/dp: Write the source OUI for non-eDP sinks as well

Message ID 20241025160259.3088727-9-imre.deak@intel.com (mailing list archive)
State New
Headers show
Series drm/i915: Write source OUI for non-eDP sinks | expand

Commit Message

Imre Deak Oct. 25, 2024, 4:02 p.m. UTC
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
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Ville Syrjälä Oct. 28, 2024, 3:20 p.m. UTC | #1
On Fri, Oct 25, 2024 at 07:02:59PM +0300, Imre Deak wrote:
> 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
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 916301aa9f6b6..24daf5f973770 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -3407,9 +3407,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;
>  
> @@ -6133,6 +6130,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;
>  	}
>  
> -- 
> 2.44.2
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 916301aa9f6b6..24daf5f973770 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -3407,9 +3407,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;
 
@@ -6133,6 +6130,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;
 	}