mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
drm/i915: add a tracepoint for gpu frequency changes
We've had and still have too many issues where the gpu turbo doesn't quite to what it's supposed to do (or what we want it to do). Adding a tracepoint to track when the desired gpu frequency changes should help a lot in characterizing and understanding problematic workloads. Also, this should be fairly interesting for power tuning (and especially noticing when the gpu is stuck in high frequencies, as has happened in the past) and hence for integration into powertop and similar tools. Cc: Arjan van de Ven <arjan@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
20e4d407fb
commit
be2cde9a6d
2 changed files with 17 additions and 0 deletions
|
@ -430,6 +430,21 @@ TRACE_EVENT(i915_reg_rw,
|
|||
(u32)(__entry->val >> 32))
|
||||
);
|
||||
|
||||
TRACE_EVENT(intel_gpu_freq_change,
|
||||
TP_PROTO(u32 freq),
|
||||
TP_ARGS(freq),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(u32, freq)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->freq = freq;
|
||||
),
|
||||
|
||||
TP_printk("new_freq=%u", __entry->freq)
|
||||
);
|
||||
|
||||
#endif /* _I915_TRACE_H_ */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
|
|
@ -2337,6 +2337,8 @@ void gen6_set_rps(struct drm_device *dev, u8 val)
|
|||
I915_WRITE(GEN6_RP_INTERRUPT_LIMITS, limits);
|
||||
|
||||
dev_priv->rps.cur_delay = val;
|
||||
|
||||
trace_intel_gpu_freq_change(val * 50);
|
||||
}
|
||||
|
||||
static void gen6_disable_rps(struct drm_device *dev)
|
||||
|
|
Loading…
Add table
Reference in a new issue