From: "Michel Dänzer" <michel@daenzer.net> To: Keith Packard <keithp@keithp.com>, Dave Airlie <airlied@redhat.com>, Daniel Vetter <daniel@ffwll.ch> Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH 1/3] drm: Widen vblank count to 64 bits. Change vblank time precision to ns Date: Thu, 6 Jul 2017 16:45:10 +0900 [thread overview] Message-ID: <83a2dbe9-dfcb-e31e-fc7b-14c4364daea5@daenzer.net> (raw) In-Reply-To: <20170705221013.27940-2-keithp@keithp.com> On 06/07/17 07:10 AM, Keith Packard wrote: > This modifies the datatypes used by the vblank code to provide both 64 > bits of vblank count and to increase the resolution of the vblank > timestamp from microseconds to nanoseconds. > > The driver interfaces have also been changed to return 64-bits of > vblank count; fortunately all of the code necessary to widen that value > was already included to handle devices returning fewer than 32-bits. > > This will provide the necessary datatypes for the Vulkan API. > > Signed-off-by: Keith Packard <keithp@keithp.com> [...] > @@ -1492,9 +1515,11 @@ int drm_wait_vblank(struct drm_device *dev, void *data, > > switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) { > case _DRM_VBLANK_RELATIVE: > - vblwait->request.sequence += seq; > + req_seq = seq + vblwait->request.sequence; > vblwait->request.type &= ~_DRM_VBLANK_RELATIVE; Subtle breakage here: vblwait->request.sequence must still get updated for _DRM_VBLANK_RELATIVE, in case we're interrupted by a signal. > @@ -317,6 +317,9 @@ int via_driver_irq_postinstall(struct drm_device *dev) > if (!dev_priv) > return -EINVAL; > > + if (dev->driver->get_vblank_counter) > + dev->max_vblank_count = 0xffffffff; What's the purpose of this? All drivers providing get_vblank_counter should already initialize max_vblank_count correctly. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer
WARNING: multiple messages have this Message-ID (diff)
From: "Michel Dänzer" <michel@daenzer.net> To: Keith Packard <keithp@keithp.com>, Dave Airlie <airlied@redhat.com>, Daniel Vetter <daniel@ffwll.ch> Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH 1/3] drm: Widen vblank count to 64 bits. Change vblank time precision to ns Date: Thu, 6 Jul 2017 16:45:10 +0900 [thread overview] Message-ID: <83a2dbe9-dfcb-e31e-fc7b-14c4364daea5@daenzer.net> (raw) In-Reply-To: <20170705221013.27940-2-keithp@keithp.com> On 06/07/17 07:10 AM, Keith Packard wrote: > This modifies the datatypes used by the vblank code to provide both 64 > bits of vblank count and to increase the resolution of the vblank > timestamp from microseconds to nanoseconds. > > The driver interfaces have also been changed to return 64-bits of > vblank count; fortunately all of the code necessary to widen that value > was already included to handle devices returning fewer than 32-bits. > > This will provide the necessary datatypes for the Vulkan API. > > Signed-off-by: Keith Packard <keithp@keithp.com> [...] > @@ -1492,9 +1515,11 @@ int drm_wait_vblank(struct drm_device *dev, void *data, > > switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) { > case _DRM_VBLANK_RELATIVE: > - vblwait->request.sequence += seq; > + req_seq = seq + vblwait->request.sequence; > vblwait->request.type &= ~_DRM_VBLANK_RELATIVE; Subtle breakage here: vblwait->request.sequence must still get updated for _DRM_VBLANK_RELATIVE, in case we're interrupted by a signal. > @@ -317,6 +317,9 @@ int via_driver_irq_postinstall(struct drm_device *dev) > if (!dev_priv) > return -EINVAL; > > + if (dev->driver->get_vblank_counter) > + dev->max_vblank_count = 0xffffffff; What's the purpose of this? All drivers providing get_vblank_counter should already initialize max_vblank_count correctly. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-07-06 7:45 UTC|newest] Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-05 22:10 [PATCH 0/3] drm: Add CRTC-id based ioctls for vblank query/event Keith Packard 2017-07-05 22:10 ` Keith Packard 2017-07-05 22:10 ` [PATCH 1/3] drm: Widen vblank count to 64 bits. Change vblank time precision to ns Keith Packard 2017-07-05 22:10 ` Keith Packard 2017-07-06 7:19 ` Daniel Vetter 2017-07-06 7:19 ` Daniel Vetter 2017-07-06 14:59 ` Keith Packard 2017-07-06 14:59 ` Keith Packard 2017-07-07 12:16 ` Daniel Vetter 2017-07-07 12:16 ` Daniel Vetter 2017-07-25 20:54 ` Keith Packard 2017-07-25 20:54 ` Keith Packard 2017-07-06 7:45 ` Michel Dänzer [this message] 2017-07-06 7:45 ` Michel Dänzer 2017-07-06 8:05 ` Michel Dänzer 2017-07-06 8:05 ` Michel Dänzer 2017-07-06 15:11 ` Keith Packard 2017-07-06 15:04 ` Keith Packard 2017-07-06 15:04 ` Keith Packard 2017-07-07 1:34 ` Michel Dänzer 2017-07-07 1:34 ` Michel Dänzer 2017-07-07 2:05 ` Michel Dänzer 2017-07-07 2:05 ` Michel Dänzer 2017-07-05 22:10 ` [PATCH 2/3] drm: Reorganize drm_pending_event to support future event types Keith Packard 2017-07-05 22:10 ` Keith Packard 2017-07-06 7:30 ` Daniel Vetter 2017-07-06 15:36 ` Keith Packard 2017-07-06 15:36 ` Keith Packard 2017-07-07 12:05 ` Daniel Vetter 2017-07-07 12:05 ` Daniel Vetter 2017-07-05 22:10 ` [PATCH 3/3] drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls Keith Packard 2017-07-05 22:10 ` Keith Packard 2017-07-06 7:53 ` Daniel Vetter 2017-07-06 10:16 ` Ville Syrjälä 2017-07-06 10:16 ` Ville Syrjälä 2017-07-06 11:04 ` Daniel Vetter 2017-07-06 14:08 ` Ville Syrjälä 2017-07-06 16:28 ` Keith Packard 2017-07-06 16:28 ` Keith Packard 2017-07-06 17:59 ` Ville Syrjälä 2017-07-06 17:59 ` Ville Syrjälä 2017-07-06 18:22 ` Keith Packard 2017-07-06 18:22 ` Keith Packard 2017-07-06 18:59 ` Ville Syrjälä 2017-07-06 18:59 ` Ville Syrjälä 2017-07-06 19:46 ` Keith Packard 2017-07-06 19:46 ` Keith Packard 2017-07-06 16:27 ` Keith Packard 2017-07-06 16:27 ` Keith Packard 2017-07-06 21:49 ` Daniel Vetter 2017-07-06 21:49 ` Daniel Vetter 2017-08-01 5:03 ` [PATCH 0/3] drm: Add CRTC-id based ioctls for vblank query/event Keith Packard 2017-08-01 5:03 ` Keith Packard 2017-08-01 5:03 ` [PATCH 1/3] drm: Widen vblank UAPI to 64 bits. Change vblank time to ktime_t [v2] Keith Packard 2017-08-01 5:03 ` Keith Packard 2017-08-02 8:53 ` Daniel Vetter 2017-08-02 8:53 ` Daniel Vetter 2017-08-02 9:41 ` Michel Dänzer 2017-08-02 9:41 ` Michel Dänzer 2017-08-06 17:35 ` Keith Packard 2017-08-06 17:35 ` Keith Packard 2017-08-01 5:03 ` [PATCH 2/3] drm: Reorganize drm_pending_event to support future event types [v2] Keith Packard 2017-08-02 9:05 ` Daniel Vetter 2017-08-01 5:03 ` [PATCH 3/3] drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v2] Keith Packard 2017-08-01 5:03 ` Keith Packard 2017-08-02 9:25 ` Daniel Vetter 2017-08-02 9:25 ` Daniel Vetter 2017-08-06 3:32 ` Keith Packard 2017-08-06 3:32 ` Keith Packard 2017-08-07 3:02 ` Michel Dänzer 2017-08-07 3:02 ` Michel Dänzer 2017-08-07 8:34 ` Daniel Vetter 2017-08-07 8:34 ` Daniel Vetter 2017-10-09 17:18 ` Keith Packard 2017-10-09 17:18 ` Keith Packard 2017-10-10 8:55 ` Daniel Vetter 2017-10-10 8:55 ` Daniel Vetter 2017-08-02 9:45 ` Michel Dänzer 2017-08-06 3:42 ` Keith Packard 2017-08-06 3:42 ` Keith Packard 2017-08-07 3:03 ` Michel Dänzer 2017-08-07 3:03 ` Michel Dänzer
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=83a2dbe9-dfcb-e31e-fc7b-14c4364daea5@daenzer.net \ --to=michel@daenzer.net \ --cc=airlied@redhat.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=keithp@keithp.com \ --cc=linux-kernel@vger.kernel.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.