mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![Chris Wilson](/assets/img/avatar_default.png)
Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. v2: Add a per-crtc debugfs entry so that the information is easier to extract when testing individual CRTC, and so that it can be reset before a test. v3: Flip the graph on its side; creates space to label the time axis. Updates: 4684 | 1us | | 4us |******** |********** 16us |*********** |***** 66us | | 262us | | 1ms | | 4ms | | 17ms | | Min update: 5918ns Max update: 54781ns Average update: 16628ns Overruns > 250us: 0 Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> #v2 Link: https://patchwork.freedesktop.org/patch/msgid/20201202212814.26320-1-chris@chris-wilson.co.uk
23 lines
738 B
C
23 lines
738 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2020 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_DISPLAY_DEBUGFS_H__
|
|
#define __INTEL_DISPLAY_DEBUGFS_H__
|
|
|
|
struct drm_connector;
|
|
struct drm_crtc;
|
|
struct drm_i915_private;
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
void intel_display_debugfs_register(struct drm_i915_private *i915);
|
|
int intel_connector_debugfs_add(struct drm_connector *connector);
|
|
int intel_crtc_debugfs_add(struct drm_crtc *crtc);
|
|
#else
|
|
static inline void intel_display_debugfs_register(struct drm_i915_private *i915) {}
|
|
static inline int intel_connector_debugfs_add(struct drm_connector *connector) { return 0; }
|
|
static inline int intel_crtc_debugfs_add(struct drm_crtc *crtc) { return 0; }
|
|
#endif
|
|
|
|
#endif /* __INTEL_DISPLAY_DEBUGFS_H__ */
|