• M
    drm/i915: Add Guess-o-matic for pageflip timestamping. · 49b14a5c
    Mario Kleiner 提交于
    This patch changes the strategy for pageflip completion
    timestamping. It detects if the pageflip completion
    routine gets executed before or after drm_handle_vblank,
    and thereby decides if the returned vblank count and
    timestamp must be incremented by 1 frame(duration) or
    not. It compares the current system time at invocation
    against the current vblank timestamp. If the difference
    is more than 0.9 video refresh interval durations then
    it assumes the vblank timestamp and count are outdated
    and need to be incremented and does so. Otherwise it
    assumes a delayed pageflip irq and doesn't correct
    the timestamp and count.
    
    Advantage of this patch: Pageflip timestamping becomes
    more robust against implementation errors and is
    maintenance free for future GPU's.
    
    Disadvantage: A few dozen (hundred?) nsecs extra
    time spent in pageflip irq handler for each flip,
    compared to hard-coded per-gpu settings?
    Signed-off-by: NMario Kleiner <mario.kleiner@tuebingen.mpg.de>
    Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
    49b14a5c
intel_display.c 193.8 KB