• Ville Syrjälä's avatar
    drm: Don't zero vblank timestamps from the irq handler · fa4270d8
    Ville Syrjälä authored
    If we couldn't get a high precisions vblank timestamp, we currently
    store a zeroed timestamp instead and assume the next vblank irq to
    get us something better. This makes sense when trying to update the
    timestamp from eg. vblank enable. But if we do this from the vblank
    irq we will never get a vblank timestamp unless we high precision
    timestamps are available and succeeded. This break weston for instance
    on drivers lacking high precision timestamps.
    
    To fix this, zero the timestamp only when not called from vbl irq.
    When called from the irq, we still want the timestamp, even if not
    perfect.
    
    This fixes a regression from
    4dfd6486 drm: Use vblank timestamps to guesstimate how many vblanks were missed
    
    Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
    Cc: Thierry Reding <thierry.reding@gmail.com>
    Reported-by: default avatarThierry Reding <thierry.reding@gmail.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Tested-by: default avatarThierry Reding <treding@nvidia.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    fa4270d8
drm_irq.c 52.5 KB