[V2 1/2] drm/i915/drrs: Refactor CPU transcoder DRRS check

Jani Nikula jani.nikula at intel.com
Thu Mar 7 14:08:48 UTC 2024


On Wed, 28 Feb 2024, Bhanuprakash Modem <bhanuprakash.modem at intel.com> wrote:
> Rename cpu_transcoder_has_drrs() to intel_cpu_transcoder_has_drrs()
> and make it as non-static, therefore it can be re-used.
>
> V2:
>  - Move helpers to intel_drrs.[ch] (Jani)
>  - Fix commit message (Jani)
>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> Cc: Mitul Golani <mitulkumar.ajitkumar.golani at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>

Pushed to drm-intel-next with some checkpatch fixes.

BR,
Jani.

> ---
>  drivers/gpu/drm/i915/display/intel_dp.c   | 12 ++----------
>  drivers/gpu/drm/i915/display/intel_drrs.c |  9 +++++++++
>  drivers/gpu/drm/i915/display/intel_drrs.h |  3 +++
>  3 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 6ece2c563c7a..0f3cd072a8fb 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -67,6 +67,7 @@
>  #include "intel_dp_tunnel.h"
>  #include "intel_dpio_phy.h"
>  #include "intel_dpll.h"
> +#include "intel_drrs.h"
>  #include "intel_fifo_underrun.h"
>  #include "intel_hdcp.h"
>  #include "intel_hdmi.h"
> @@ -2683,15 +2684,6 @@ intel_dp_compute_hdr_metadata_infoframe_sdp(struct intel_dp *intel_dp,
>  		intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GAMUT_METADATA);
>  }
>  
> -static bool cpu_transcoder_has_drrs(struct drm_i915_private *i915,
> -				    enum transcoder cpu_transcoder)
> -{
> -	if (HAS_DOUBLE_BUFFERED_M_N(i915))
> -		return true;
> -
> -	return intel_cpu_transcoder_has_m2_n2(i915, cpu_transcoder);
> -}
> -
>  static bool can_enable_drrs(struct intel_connector *connector,
>  			    const struct intel_crtc_state *pipe_config,
>  			    const struct drm_display_mode *downclock_mode)
> @@ -2714,7 +2706,7 @@ static bool can_enable_drrs(struct intel_connector *connector,
>  	if (pipe_config->has_pch_encoder)
>  		return false;
>  
> -	if (!cpu_transcoder_has_drrs(i915, pipe_config->cpu_transcoder))
> +	if (!intel_cpu_transcoder_has_drrs(i915, pipe_config->cpu_transcoder))
>  		return false;
>  
>  	return downclock_mode &&
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c
> index 169ef38ff188..4743495ad41f 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.c
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.c
> @@ -63,6 +63,15 @@ const char *intel_drrs_type_str(enum drrs_type drrs_type)
>  	return str[drrs_type];
>  }
>  
> +bool intel_cpu_transcoder_has_drrs(struct drm_i915_private *i915,
> +				   enum transcoder cpu_transcoder)
> +{
> +	if (HAS_DOUBLE_BUFFERED_M_N(i915))
> +		return true;
> +
> +	return intel_cpu_transcoder_has_m2_n2(i915, cpu_transcoder);
> +}
> +
>  static void
>  intel_drrs_set_refresh_rate_pipeconf(struct intel_crtc *crtc,
>  				     enum drrs_refresh_rate refresh_rate)
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.h b/drivers/gpu/drm/i915/display/intel_drrs.h
> index 8ef5f93a80ff..d0af091ed4c5 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.h
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.h
> @@ -9,12 +9,15 @@
>  #include <linux/types.h>
>  
>  enum drrs_type;
> +enum transcoder;
>  struct drm_i915_private;
>  struct intel_atomic_state;
>  struct intel_crtc;
>  struct intel_crtc_state;
>  struct intel_connector;
>  
> +bool intel_cpu_transcoder_has_drrs(struct drm_i915_private *i915,
> +			   enum transcoder cpu_transcoder);
>  const char *intel_drrs_type_str(enum drrs_type drrs_type);
>  bool intel_drrs_is_active(struct intel_crtc *crtc);
>  void intel_drrs_activate(const struct intel_crtc_state *crtc_state);

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list