[Intel-gfx] [PATCH v2 10/16] drm/i915: Introduce intel_drrs_type_str()

Jani Nikula jani.nikula at linux.intel.com
Mon Mar 14 10:00:18 UTC 2022


On Fri, 11 Mar 2022, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Add helper to get the drrs type as a string, and use it
> in a couple of places. Also pimp the debugfs output a bit
> while at it.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula at intel.com>

> ---
>  .../drm/i915/display/intel_display_debugfs.c  | 19 +++++++------------
>  drivers/gpu/drm/i915/display/intel_drrs.c     | 19 +++++++++++++++++--
>  drivers/gpu/drm/i915/display/intel_drrs.h     |  2 ++
>  3 files changed, 26 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 2a6fd15b1471..3edf3eb01240 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -22,6 +22,7 @@
>  #include "intel_fbdev.h"
>  #include "intel_hdcp.h"
>  #include "intel_hdmi.h"
> +#include "intel_panel.h"
>  #include "intel_pm.h"
>  #include "intel_psr.h"
>  #include "intel_sprite.h"
> @@ -1143,23 +1144,17 @@ static void drrs_status_per_crtc(struct seq_file *m,
>  {
>  	struct drm_i915_private *dev_priv = to_i915(dev);
>  	struct i915_drrs *drrs = &dev_priv->drrs;
> -	struct drm_connector *connector;
> +	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  
>  	drm_connector_list_iter_begin(dev, &conn_iter);
> -	drm_for_each_connector_iter(connector, &conn_iter) {
> -		bool supported = false;
> -
> -		if (connector->state->crtc != &crtc->base)
> +	for_each_intel_connector_iter(connector, &conn_iter) {
> +		if (connector->base.state->crtc != &crtc->base)
>  			continue;
>  
> -		seq_printf(m, "%s:\n", connector->name);
> -
> -		if (connector->connector_type == DRM_MODE_CONNECTOR_eDP &&
> -		    dev_priv->vbt.drrs_type == DRRS_TYPE_SEAMLESS)
> -			supported = true;
> -
> -		seq_printf(m, "\tDRRS Supported: %s\n", str_yes_no(supported));
> +		seq_printf(m, "[CONNECTOR:%d:%s] DRRS type: %s\n",
> +			   connector->base.base.id, connector->base.name,
> +			   intel_drrs_type_str(intel_panel_drrs_type(connector)));
>  	}
>  	drm_connector_list_iter_end(&conn_iter);
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c
> index c663df51a84a..12ae1deea15f 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.c
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.c
> @@ -47,6 +47,20 @@
>   * requested by userspace.
>   */
>  
> +const char *intel_drrs_type_str(enum drrs_type drrs_type)
> +{
> +	static const char * const str[] = {
> +		[DRRS_TYPE_NONE] = "none",
> +		[DRRS_TYPE_STATIC] = "static",
> +		[DRRS_TYPE_SEAMLESS] = "seamless",
> +	};
> +
> +	if (drrs_type >= ARRAY_SIZE(str))
> +		return "<invalid>";
> +
> +	return str[drrs_type];
> +}
> +
>  static bool can_enable_drrs(struct intel_connector *connector,
>  			    const struct intel_crtc_state *pipe_config)
>  {
> @@ -461,8 +475,9 @@ intel_drrs_init(struct intel_connector *connector,
>  
>  	dev_priv->drrs.refresh_rate = DRRS_REFRESH_RATE_HIGH;
>  	drm_dbg_kms(&dev_priv->drm,
> -		    "[CONNECTOR:%d:%s] seamless DRRS supported\n",
> -		    connector->base.base.id, connector->base.name);
> +		    "[CONNECTOR:%d:%s] %s DRRS supported\n",
> +		    connector->base.base.id, connector->base.name,
> +		    intel_drrs_type_str(dev_priv->vbt.drrs_type));
>  
>  	return downclock_mode;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.h b/drivers/gpu/drm/i915/display/intel_drrs.h
> index 6bca7692f59f..d3dff44dc3b1 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.h
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.h
> @@ -8,6 +8,7 @@
>  
>  #include <linux/types.h>
>  
> +enum drrs_type;
>  struct drm_i915_private;
>  struct intel_atomic_state;
>  struct intel_crtc;
> @@ -15,6 +16,7 @@ struct intel_crtc_state;
>  struct intel_connector;
>  struct intel_dp;
>  
> +const char *intel_drrs_type_str(enum drrs_type drrs_type);
>  void intel_drrs_enable(struct intel_dp *intel_dp,
>  		       const struct intel_crtc_state *crtc_state);
>  void intel_drrs_disable(struct intel_dp *intel_dp,

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list