• Chris Wilson's avatar
    drm/i915/display: Record the plane update times for debugging · 829270e4
    Chris Wilson authored
    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/1982Signed-off-by: default avatarChris 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
    829270e4
intel_display.c 569 KB