mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-30 14:34:51 +08:00
drm/i915: Add frontbuffer tracking tracepoints
Add some tracpoints for frontbuffer tracking so we can try to figure out what's going on. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210414022309.30898-2-ville.syrjala@linux.intel.com Acked-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
b109da48e6
commit
1a86ac792f
@ -58,6 +58,7 @@
|
||||
#include "display/intel_dp.h"
|
||||
|
||||
#include "i915_drv.h"
|
||||
#include "i915_trace.h"
|
||||
#include "intel_display_types.h"
|
||||
#include "intel_fbc.h"
|
||||
#include "intel_frontbuffer.h"
|
||||
@ -87,6 +88,8 @@ static void frontbuffer_flush(struct drm_i915_private *i915,
|
||||
if (!frontbuffer_bits)
|
||||
return;
|
||||
|
||||
trace_intel_frontbuffer_flush(frontbuffer_bits, origin);
|
||||
|
||||
might_sleep();
|
||||
intel_edp_drrs_flush(i915, frontbuffer_bits);
|
||||
intel_psr_flush(i915, frontbuffer_bits, origin);
|
||||
@ -173,6 +176,8 @@ void __intel_fb_invalidate(struct intel_frontbuffer *front,
|
||||
spin_unlock(&i915->fb_tracking.lock);
|
||||
}
|
||||
|
||||
trace_intel_frontbuffer_invalidate(frontbuffer_bits, origin);
|
||||
|
||||
might_sleep();
|
||||
intel_psr_invalidate(i915, frontbuffer_bits, origin);
|
||||
intel_edp_drrs_invalidate(i915, frontbuffer_bits);
|
||||
|
@ -475,6 +475,44 @@ TRACE_EVENT(intel_pipe_update_end,
|
||||
__entry->scanline)
|
||||
);
|
||||
|
||||
/* frontbuffer tracking */
|
||||
|
||||
TRACE_EVENT(intel_frontbuffer_invalidate,
|
||||
TP_PROTO(unsigned int frontbuffer_bits, unsigned int origin),
|
||||
TP_ARGS(frontbuffer_bits, origin),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, frontbuffer_bits)
|
||||
__field(unsigned int, origin)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->frontbuffer_bits = frontbuffer_bits;
|
||||
__entry->origin = origin;
|
||||
),
|
||||
|
||||
TP_printk("frontbuffer_bits=0x%08x, origin=%u",
|
||||
__entry->frontbuffer_bits, __entry->origin)
|
||||
);
|
||||
|
||||
TRACE_EVENT(intel_frontbuffer_flush,
|
||||
TP_PROTO(unsigned int frontbuffer_bits, unsigned int origin),
|
||||
TP_ARGS(frontbuffer_bits, origin),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned int, frontbuffer_bits)
|
||||
__field(unsigned int, origin)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->frontbuffer_bits = frontbuffer_bits;
|
||||
__entry->origin = origin;
|
||||
),
|
||||
|
||||
TP_printk("frontbuffer_bits=0x%08x, origin=%u",
|
||||
__entry->frontbuffer_bits, __entry->origin)
|
||||
);
|
||||
|
||||
/* object tracking */
|
||||
|
||||
TRACE_EVENT(i915_gem_object_create,
|
||||
|
Loading…
Reference in New Issue
Block a user