[Intel-gfx] [PATCH 09/17] drm/i915: Report requested frequency alongside current frequency in debugfs

Rodrigo Vivi rodrigo.vivi at gmail.com
Tue Aug 27 14:12:40 CEST 2013


On Mon, Aug 26, 2013 at 7:51 PM, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
> From: Chris Wilson <chris at chris-wilson.co.uk>
>
> It can be useful to compare at times the current vs requested frequency
> of the GPU, so provide the contents of RPNSWREQ alonside CAGF.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 55ab924..a6f4cb5 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -857,7 +857,7 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
>                 u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS);
>                 u32 rp_state_limits = I915_READ(GEN6_RP_STATE_LIMITS);
>                 u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP);
> -               u32 rpstat, cagf;
> +               u32 rpstat, cagf, reqf;
>                 u32 rpupei, rpcurup, rpprevup;
>                 u32 rpdownei, rpcurdown, rpprevdown;
>                 int max_freq;
> @@ -869,6 +869,14 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
>
>                 gen6_gt_force_wake_get(dev_priv);
>
> +               reqf = I915_READ(GEN6_RPNSWREQ);
> +               reqf &= ~GEN6_TURBO_DISABLE;
> +               if (IS_HASWELL(dev))
> +                       reqf >>= 24;
> +               else
> +                       reqf >>= 25;

I would prefer a define like HSW_REQF_SHIFT 24 close to HSW_FREQUENCY
to avoid people asking why magic 24/25 value.
I added the HSW_FREQUENCY there and still asked "why 24?"

But with or without this bikeshed:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>

> +               reqf *= GT_FREQUENCY_MULTIPLIER;
> +
>                 rpstat = I915_READ(GEN6_RPSTAT1);
>                 rpupei = I915_READ(GEN6_RP_CUR_UP_EI);
>                 rpcurup = I915_READ(GEN6_RP_CUR_UP);
> @@ -893,6 +901,7 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
>                            gt_perf_status & 0xff);
>                 seq_printf(m, "Render p-state limit: %d\n",
>                            rp_state_limits & 0xff);
> +               seq_printf(m, "RPNSWREQ: %dMHz\n", reqf);
>                 seq_printf(m, "CAGF: %dMHz\n", cagf);
>                 seq_printf(m, "RP CUR UP EI: %dus\n", rpupei &
>                            GEN6_CURICONT_MASK);
> --
> 1.8.1.4
>



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br



More information about the Intel-gfx mailing list