All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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: link
Be 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.