[PATCH v2 3/6] drm/i915/lspcon: change signature of lspcon_detect_hdr_capability()

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Feb 4 22:57:05 UTC 2025


On Tue, Feb 04, 2025 at 03:58:40PM +0200, Jani Nikula wrote:
> Switch from struct intel_lspcon to struct intel_digital_port to unify,
> and return the value so the caller doesn't have to look at
> lspcon->hdr_detected directly.


Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> 
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c     | 4 +---
>  drivers/gpu/drm/i915/display/intel_lspcon.c | 5 ++++-
>  drivers/gpu/drm/i915/display/intel_lspcon.h | 2 +-
>  3 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index ef182ef574f7..2db7741c25bd 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -5844,7 +5844,6 @@ intel_dp_connector_register(struct drm_connector *connector)
>  	struct intel_display *display = to_intel_display(connector->dev);
>  	struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
>  	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> -	struct intel_lspcon *lspcon = &dig_port->lspcon;
>  	int ret;
>  
>  	ret = intel_connector_register(connector);
> @@ -5867,8 +5866,7 @@ intel_dp_connector_register(struct drm_connector *connector)
>  	 * efficiently and streamlined.
>  	 */
>  	if (lspcon_init(dig_port)) {
> -		lspcon_detect_hdr_capability(lspcon);
> -		if (lspcon->hdr_supported)
> +		if (lspcon_detect_hdr_capability(dig_port))
>  			drm_connector_attach_hdr_output_metadata_property(connector);
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
> index e54aad8a5f7f..2dd2b700b0f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> @@ -121,8 +121,9 @@ static u32 get_hdr_status_reg(struct intel_lspcon *lspcon)
>  		return DPCD_PARADE_LSPCON_HDR_STATUS;
>  }
>  
> -void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon)
> +bool lspcon_detect_hdr_capability(struct intel_digital_port *dig_port)
>  {
> +	struct intel_lspcon *lspcon = &dig_port->lspcon;
>  	struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
>  	struct intel_display *display = to_intel_display(intel_dp);
>  	u8 hdr_caps;
> @@ -138,6 +139,8 @@ void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon)
>  		drm_dbg_kms(display->drm, "LSPCON capable of HDR\n");
>  		lspcon->hdr_supported = true;
>  	}
> +
> +	return lspcon->hdr_supported;
>  }
>  
>  static enum drm_lspcon_mode lspcon_get_current_mode(struct intel_lspcon *lspcon)
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.h b/drivers/gpu/drm/i915/display/intel_lspcon.h
> index 4c8ba3ddbac4..18cc15e5221d 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.h
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.h
> @@ -17,7 +17,7 @@ struct intel_lspcon;
>  
>  bool lspcon_init(struct intel_digital_port *dig_port);
>  bool intel_lspcon_active(struct intel_digital_port *dig_port);
> -void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon);
> +bool lspcon_detect_hdr_capability(struct intel_digital_port *dig_port);
>  void lspcon_resume(struct intel_digital_port *dig_port);
>  void lspcon_wait_pcon_mode(struct intel_lspcon *lspcon);
>  void lspcon_write_infoframe(struct intel_encoder *encoder,
> -- 
> 2.39.5
> 


More information about the Intel-gfx mailing list