Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Report requested frequency alongside current frequency in debugfs

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@chris-wilson.co.uk>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

authored by

Chris Wilson and committed by
Daniel Vetter
8e8c06cd 10603caa

+10 -1
+10 -1
drivers/gpu/drm/i915/i915_debugfs.c
··· 857 857 u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS); 858 858 u32 rp_state_limits = I915_READ(GEN6_RP_STATE_LIMITS); 859 859 u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP); 860 - u32 rpstat, cagf; 860 + u32 rpstat, cagf, reqf; 861 861 u32 rpupei, rpcurup, rpprevup; 862 862 u32 rpdownei, rpcurdown, rpprevdown; 863 863 int max_freq; ··· 868 868 return ret; 869 869 870 870 gen6_gt_force_wake_get(dev_priv); 871 + 872 + reqf = I915_READ(GEN6_RPNSWREQ); 873 + reqf &= ~GEN6_TURBO_DISABLE; 874 + if (IS_HASWELL(dev)) 875 + reqf >>= 24; 876 + else 877 + reqf >>= 25; 878 + reqf *= GT_FREQUENCY_MULTIPLIER; 871 879 872 880 rpstat = I915_READ(GEN6_RPSTAT1); 873 881 rpupei = I915_READ(GEN6_RP_CUR_UP_EI); ··· 901 893 gt_perf_status & 0xff); 902 894 seq_printf(m, "Render p-state limit: %d\n", 903 895 rp_state_limits & 0xff); 896 + seq_printf(m, "RPNSWREQ: %dMHz\n", reqf); 904 897 seq_printf(m, "CAGF: %dMHz\n", cagf); 905 898 seq_printf(m, "RP CUR UP EI: %dus\n", rpupei & 906 899 GEN6_CURICONT_MASK);