dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Kleiner <mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	michel-otUistvHUpPR7s880joybQ@public.gmane.org
Subject: Some VRR vblank/pageflip timestamping fixes.
Date: Mon, 11 Feb 2019 04:22:22 +0100	[thread overview]
Message-ID: <20190211032225.9488-1-mario.kleiner.de@gmail.com> (raw)

These fix the currently broken vblank timestamping in VRR
mode and broken pageflip timestamping in VRR mode. The unfixed
implementation can provide timestamps that are off by dozens
of milliseconds and thereby make VRR unusable for any application
that needs at least millisecond precision in timing.

Patch 1/3 should fix vblank timestamps to be accurate according to
the definition of what a vblank timestamps means in VRR mode.

Patch 2/3 + 3/3 make pageflip completion event timestamps at least
approximately correct, by reporting a pageflip completion timestamp
that is the invocation time of the pageflip irq handler.

Patch 3/3 is still a crude approach, but much less wrong than before.

I have a followup patch in the making that aims to restore the same
precision for pageflip timestamps as in non-VRR mode, but isn't
quite ready yet, as it fails in about < 1% of all flips if one
pushes VRR hard enough.

thanks,
-mario


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

             reply	other threads:[~2019-02-11  3:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-11  3:22 Mario Kleiner [this message]
2019-02-11  3:22 ` [PATCH 1/3] drm/amdgpu: Fix get_crtc_scanoutpos behavior in vrr when vpos >= vtotal Mario Kleiner
     [not found] ` <20190211032225.9488-1-mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-02-11  3:22   ` [PATCH 2/3] drm: Add basic helper to allow precise pageflip timestamps in vrr Mario Kleiner
2019-02-11  8:35     ` Daniel Vetter
     [not found]       ` <20190211083540.GR23159-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-02-11 15:01         ` Kazlauskas, Nicholas
     [not found]           ` <41354dd1-e3fe-58cc-9c10-1a8cd05b2a40-5C7GfCeVMHo@public.gmane.org>
2019-02-11 17:04             ` Daniel Vetter
2019-02-12 21:32               ` Mario Kleiner via dri-devel
     [not found]                 ` <CAEsyxyiT-k5LecWs1=Zyj9J=GPjbQFQSPzYQpDxFzjwwRvFS-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-13  9:50                   ` Daniel Vetter
     [not found]                     ` <20190213095055.GF23159-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-02-13  9:55                       ` Chris Wilson
2019-02-13 11:05                         ` Mario Kleiner via amd-gfx
     [not found]                           ` <CAEsyxygzqwWGJLBZ5M_AkGQ7HFgzS=rxRgZ+dCFK0QG7Ek63Zw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-13 12:46                             ` Daniel Vetter
2019-02-13 11:22                       ` Mario Kleiner via amd-gfx
2019-02-13 14:33                     ` Kazlauskas, Nicholas
     [not found]                       ` <f1680226-4123-8fd6-374c-e639595f7dd6-5C7GfCeVMHo@public.gmane.org>
2019-02-13 15:14                         ` Daniel Vetter
2019-02-13 15:41                           ` Kazlauskas, Nicholas
     [not found]                             ` <b65833b3-5f68-87b7-7fe6-d89fd58a83ef-5C7GfCeVMHo@public.gmane.org>
2019-02-13 16:03                               ` Daniel Vetter
     [not found]                                 ` <CAKMK7uGr8+zvRuTKo6ecDOFfGFnPRwxR8AWwhNAcqJat_vtk8w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-13 18:10                                   ` Mario Kleiner via amd-gfx
     [not found]                                     ` <CAEsyxygFmFDZWrmPXSa0qwc76trF9Cj-e1TOsJc7kDorxuGBqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-13 18:34                                       ` Kazlauskas, Nicholas
2019-02-13 20:53                                       ` Daniel Vetter
2019-02-11  3:22 ` [PATCH 3/3] drm/amd/display: Provide more accurate pageflip timestamps in vrr mode Mario Kleiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190211032225.9488-1-mario.kleiner.de@gmail.com \
    --to=mario.kleiner.de-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=michel-otUistvHUpPR7s880joybQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox