[v12,16/17] drm/i915/guc/slpc: Add SLPC banner to RPS debugfs interfaces
diff mbox

Message ID 1522398722-12161-17-git-send-email-sagar.a.kamble@intel.com
State New
Headers show

Commit Message

sagar.a.kamble@intel.com March 30, 2018, 8:32 a.m. UTC
When SLPC is controlling frequency requests, RPS state related to
autotuning is no longer valid. Make user aware through banner
upfront. Value read from register RPNSWREQ likely has the frequency
requested last by GuC SLPC.

v1: Replace HAS_SLPC with intel_slpc_active (Paulo)
    Avoid magic numbers (Nick)
    Use a function for repeated code (Jon)

v2: Add "SLPC Active" to i915_frequency_info output and
    don't update cur_freq as it is driver internal request. (Chris)

v3: Removing sysfs interface gt_req_freq_mhz out of this patch
    for proper division of functionality. (Sagar)

v4: idle_freq, boost_freq are also not used with SLPC.

v5: Added SLPC banner to i915_rps_boost_info and keep printing
    driver internal values. (Chris)

v6: Commit message update.

v7: Rebase.

v8: Rebase.

Signed-off-by: Tom O'Rourke <Tom.O'Rourke@intel.com>
Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
Cc: Jeff McGee <jeff.mcgee@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Michal Wajdeczko May 14, 2018, 12:15 p.m. UTC | #1
On Fri, 30 Mar 2018 10:32:01 +0200, Sagar Arun Kamble  
<sagar.a.kamble@intel.com> wrote:

> When SLPC is controlling frequency requests, RPS state related to
> autotuning is no longer valid. Make user aware through banner
> upfront. Value read from register RPNSWREQ likely has the frequency
> requested last by GuC SLPC.
>
> v1: Replace HAS_SLPC with intel_slpc_active (Paulo)
>     Avoid magic numbers (Nick)
>     Use a function for repeated code (Jon)
>
> v2: Add "SLPC Active" to i915_frequency_info output and
>     don't update cur_freq as it is driver internal request. (Chris)
>
> v3: Removing sysfs interface gt_req_freq_mhz out of this patch
>     for proper division of functionality. (Sagar)
>
> v4: idle_freq, boost_freq are also not used with SLPC.
>
> v5: Added SLPC banner to i915_rps_boost_info and keep printing
>     driver internal values. (Chris)
>
> v6: Commit message update.
>
> v7: Rebase.
>
> v8: Rebase.
>
> Signed-off-by: Tom O'Rourke <Tom.O'Rourke@intel.com>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
> Cc: Jeff McGee <jeff.mcgee@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c  
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index 1a66507..5d2ac24 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1068,6 +1068,9 @@ static int i915_frequency_info(struct seq_file *m,  
> void *unused)
>  	struct intel_rps *rps = &dev_priv->gt_pm.rps;
>  	int ret = 0;
> +	if (USES_GUC_SLPC(dev_priv))
> +		seq_puts(m, "SLPC Active\n");
> +
>  	intel_runtime_pm_get(dev_priv);
> 	if (IS_GEN5(dev_priv)) {
> @@ -2209,6 +2212,9 @@ static int i915_rps_boost_info(struct seq_file *m,  
> void *data)
>  	struct intel_rps *rps = &dev_priv->gt_pm.rps;
>  	struct drm_file *file;
> +	if (USES_GUC_SLPC(dev_priv))
> +		seq_puts(m, "SLPC Active\n");

[bikeshed] maybe to match below pattern:

	seq_puts(m, "SLPC active? %s\n", yesno(true));
or
	seq_puts(m, "SLPC active? %s\n", yesno((USES_GUC_SLPC(dev_priv)));

> +
>  	seq_printf(m, "RPS enabled? %d\n", rps->enabled);
>  	seq_printf(m, "GPU busy? %s [%d requests]\n",
>  		   yesno(dev_priv->gt.awake), dev_priv->gt.active_requests);

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 1a66507..5d2ac24 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1068,6 +1068,9 @@  static int i915_frequency_info(struct seq_file *m, void *unused)
 	struct intel_rps *rps = &dev_priv->gt_pm.rps;
 	int ret = 0;
 
+	if (USES_GUC_SLPC(dev_priv))
+		seq_puts(m, "SLPC Active\n");
+
 	intel_runtime_pm_get(dev_priv);
 
 	if (IS_GEN5(dev_priv)) {
@@ -2209,6 +2212,9 @@  static int i915_rps_boost_info(struct seq_file *m, void *data)
 	struct intel_rps *rps = &dev_priv->gt_pm.rps;
 	struct drm_file *file;
 
+	if (USES_GUC_SLPC(dev_priv))
+		seq_puts(m, "SLPC Active\n");
+
 	seq_printf(m, "RPS enabled? %d\n", rps->enabled);
 	seq_printf(m, "GPU busy? %s [%d requests]\n",
 		   yesno(dev_priv->gt.awake), dev_priv->gt.active_requests);