Hello all,
i have recently implemented some patches to the drm core and to the
intel and radeon kms drivers to provide high precision timestamping of
vblank intervals and for timestamping of pageflip bufferswap completion.
This is needed to properly implement the DRI2 sync swap bits and
On 12/29/2010 10:44 AM, Ben Skeggs wrote:
On Wed, 2010-12-29 at 10:37 +0100, Maarten Maathuis wrote:
On Wed, Dec 29, 2010 at 10:35 AM, Maarten Maathuismadman2...@gmail.com wrote:
On Wed, Dec 29, 2010 at 10:01 AM, Mario Kleiner
mario.klei...@tuebingen.mpg.de wrote:
Hello all,
i have
On 12/29/2010 10:35 AM, Maarten Maathuis wrote:
I found these by simply dumping the entire range modesetting related
registers. At the time they didn't help me (the issue of swapbuffers
remains unsolved on this generation of hardware, it didn't interest me
*that* much). I don't know what exactly
Emit kms pageflip completion events with proper vblank count
and timestamp for the vblank interval in which the pageflip
completed. This makes the timestamps and counts consistent with
what the OML_sync_control spec defines.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
drivers
Treats vblank event scheduling for the non-pageflip swap
case correctly. Allows vblank controlled swaps for redirected
windows. Fixes some corner-cases in OML_sync_control scheduling
when divisor and remainder parameters are used.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
Hi. The following series of three patches provides some
improvements and bug fixes to DRI2 swap scheduling, kms pageflipping and
pageflip completion timestamping. And a fix for desktop corruption
when switching between redirected and unredirected fullscreen windows.
These are mostly direct
for the ati/radeon ddx to fix the
same bug there.
See thread at:
http://lists.x.org/archives/xorg-devel/2011-May/021908.html
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 45 ++---
1 files changed, 42 insertions(+), 3
of the crtc whose vblank event initially
triggered the swap is used, but handler waits for flip
completion on all involved crtc's before completing the
swap and releasing the old framebuffer.
This code is almost identical to the code used in the
ati/radeon ddx and intel ddx.
Signed-off-by: Mario
On Sep 8, 2011, at 1:00 AM, Francisco Jerez wrote:
Thanks for your review. See comments below.
Mario Kleiner mario.klei...@tuebingen.mpg.de writes:
Treats vblank event scheduling for the non-pageflip swap
case correctly. Allows vblank controlled swaps for redirected
windows. Fixes some
,
+unsigned int tv_usec, void *event_data);
Bool nouveau_dri2_init(ScreenPtr pScreen);
void nouveau_dri2_fini(ScreenPtr pScreen);
*
Mario Kleiner
Max Planck Institute for Biological Cybernetics
Spemannstr. 38
72076
On 09/09/2011 11:14 PM, Francisco Jerez wrote:
Mario Kleinermario.klei...@tuebingen.mpg.de writes:
On Sep 8, 2011, at 1:00 AM, Francisco Jerez wrote:
Thanks for your review. See comments below.
Mario Kleinermario.klei...@tuebingen.mpg.de writes:
Treats vblank event scheduling for the
Hi,
these are two patches against the nouveau kms driver. The first patch
makes sure that pageflip completion events get their vblank count and
timestamp from the drm. The second patch from Lucas Stach, here included
with his permission, makes sure that the timestamps of vblanks are
calculated
Emit kms pageflip completion events with proper vblank count
and timestamp for the vblank interval in which the pageflip
completed. This makes the timestamps and counts consistent with
what the OML_sync_control spec defines.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
drivers
timestamps (compliant to OML_sync_control spec)
Kudos to Mario for his many helpful comments and testing.
Signed-off-by: Lucas Stach d...@lynxeye.de
Reviewed-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
Tested-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
drivers/gpu/drm/nouveau
Hi,
here a set of patches against the nouveau-ddx. This is an extended and
revised set, based on Francisco Jerez feedback from autumn last year.
[1/9] Makes pageflipping work again on X-Server 1.12rc. It apparently stopped
working somewhere around Xorg 1.11+.
[2/9] Implements handling of
can_exchange() fails on at least Xorg 1.12+. This fixes
it in the same way it was fixed in the ati intel ddx.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/nouveau_dri2.c b/src
of the crtc whose vblank event initially
triggered the swap is used, but handler waits for flip
completion on all involved crtc's before completing the
swap and releasing the old framebuffer.
This code is almost identical to the code used in the
ati/radeon ddx and intel ddx.
Signed-off-by: Mario
-buffering on XOrg 1.12+,
1 for double-buffering on older servers, as we can't
change the swap limit there.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
man/nouveau.man| 11 +++
src/nouveau_dri2.c | 29 +++--
src/nv_const.h |2
for the ati/radeon ddx to fix the
same bug there.
See thread at:
http://lists.x.org/archives/xorg-devel/2011-May/021908.html
Fixes FDO bug #35452.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 45 ++---
1 files changed, 42
(),
glXGetSyncValuesOML(), glXWaitVideoSyncSGI, ...
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 719b3bb..6a0800c 100644
--- a/src/nouveau_dri2.c
+++ b/src
vblank, at least
if sync to vblank for the compositor is on.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 32 +---
1 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index
-servers.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
man/nouveau.man|6 +-
src/nouveau_dri2.c | 32 +---
src/nv_driver.c| 11 ++-
3 files changed, 40 insertions(+), 9 deletions(-)
diff --git a/man/nouveau.man b/man/nouveau.man
this throttling is not needed
or done.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 26 ++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index f0c7fec..7878a5a 100644
--- a/src
On 02/16/2012 11:04 AM, Michel Dänzer wrote:
On Don, 2012-02-16 at 00:45 +0100, Mario Kleiner wrote:
can_exchange() fails on at least Xorg 1.12+. This fixes
it in the same way it was fixed in the ati intel ddx.
Signed-off-by: Mario Kleinermario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2
On 02/16/2012 10:46 AM, Michel Dänzer wrote:
On Don, 2012-02-16 at 00:45 +0100, Mario Kleiner wrote:
If a swaplimit 1 is set on a server which
supports the swaplimit api (XOrg 1.12.0+),
the following can happen:
1. Client calls glXSwapBuffersMscOML() with a
swap target 1 vblank
On Feb 20, 2012, at 8:24 AM, Lucas Stach wrote:
Just updated versions of the patches send by Mario Kleiner. This
ones are
rebased on top of the nouveau tree and updated according to the review
feedback.
This time hopefully the right ones.
Regards,
Lucas
Ben, thanks for the feedback
On 02/20/2012 11:27 AM, Michel Dänzer wrote:
On Mon, 2012-02-20 at 05:59 +0100, Mario Kleiner wrote:
On 02/16/2012 11:04 AM, Michel Dänzer wrote:
On Don, 2012-02-16 at 00:45 +0100, Mario Kleiner wrote:
can_exchange() fails on at least Xorg 1.12+. This fixes
it in the same way it was fixed
.
Tested for screen DefaultDepth 24 and also 30 bits
(for RGB10 framebuffers) on NV-50.
The problem was fixed in the same way in the ati intel ddx.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff
, so not useful in
practice.
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 57 +++-
1 files changed, 34 insertions(+), 23 deletions(-)
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
index 7878a5a..eb008c9
On 02/29/2012 08:17 AM, Ben Skeggs wrote:
On Thu, 2012-02-16 at 00:45 +0100, Mario Kleiner wrote:
Hi,
Hey Mario,
What's your plan with this patchset? Do you intend on taking Michel's
comments into account?
CC'ing Francisco as he had some comments on IRC. I'd like to get this
all sorted
On Mar 1, 2012, at 9:37 PM, Daniel Stone wrote:
Hi,
On 1 March 2012 18:11, Mario Kleiner
mario.klei...@tuebingen.mpg.de wrote:
can_exchange() returns false and thereby prevents page
flipping on some drawables where page flipping would
work fine. This due to non-matching drawable depths
Hi all,
the following patch fixes a race-condition in the nouveau
ddx which caused frequent x-server crashes for at least 1
user under some loads when OpenGL triple-buffering is enabled,
which it is by default on XOrg 1.12 and later.
As a side effect, it provides a small optimization for the
on the nouveau
mailing list at 12th July 2012 and for testing this patch.
Reported-by: Anssi Hannula anssi.hann...@iki.fi
Tested-by: Anssi Hannula anssi.hann...@iki.fi
Signed-off-by: Mario Kleiner mario.klei...@tuebingen.mpg.de
---
src/nouveau_dri2.c | 51
Ping :)
-mario
On 09.10.12 09:06, Mario Kleiner wrote:
This fixes a potential race + crash that wasn't properly
handled by commit 248de8cdbd6d0bc062633b49896fa4791148cd3b
and happened at least on one users machine.
That commit wrongly assumed no special action would be needed
for swaps at next
crtc
is hardwired to the external DP connector, resulting in a failure
where dual-display on single-x-screen works fine, but assigning
each output to a separate x-screen via ZaphodHeads fails due to
the mismatched encoder-possible_crtcs bitmasks.
This patch fixes the problem.
Signed-off-by: Mario
-off-by: Mario Kleiner mario.kleiner...@gmail.com
Cc: Ilia Mirkin imir...@alum.mit.edu
Cc: Emil Velikov emil.l.veli...@gmail.com
Cc: Martin Peres martin.pe...@free.fr
Cc: Ben Skeggs bske...@redhat.com
---
man/nouveau.man | 6 ++
src/nouveau_dri2.c | 11 ++-
src/nouveau_glamor.c
fixed up Bool return type of nouveau_present_init().
Signed-off-by: Mario Kleiner mario.kleiner...@gmail.com
Cc: Ilia Mirkin imir...@alum.mit.edu
Cc: Emil Velikov emil.l.veli...@gmail.com
Cc: Martin Peres martin.pe...@free.fr
Cc: Ben Skeggs bske...@redhat.com
---
man/nouveau.man | 6
Make it a Bool consistently, as declared in header.
Reported-by: Ilia Mirkin imir...@alum.mit.edu
Signed-off-by: Mario Kleiner mario.kleiner...@gmail.com
---
src/nouveau_present.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/nouveau_present.c b/src
. nouveau-kms
seems to be the only one that does something clever with that bitmask,
so needs a bit of special treatment.
On Sat, Jun 27, 2015 at 8:33 PM, Mario Kleiner
mario.kleiner...@gmail.com wrote:
In multi-x-screen ZaphodHeads configurations, there isn't a
one-to-one mapping of kernel provided
/intel.man#n68
On Mon, Jun 29, 2015 at 11:30 PM, Mario Kleiner
mario.kleiner...@gmail.com wrote:
X-Server versions older than 1.16.3 have bugs in their
DRI3/Present implementation which impair nouveau, so
it is better to stick to good old DRI2 by default on
such servers. E.g., page flipping doesn't
On 07/18/2015 01:09 PM, Dave Airlie wrote:
We can disable it by default on exa - intel and amd/radeon drivers also
disable by default. However, on gpus = maxwell only glamor accel is
supported and glamor on nouveau is either dri3/present or no hw accel at
all
afaics.
You probably saw my
On 07/14/2015 05:26 PM, Ilia Mirkin wrote:
On Mon, Jul 13, 2015 at 11:43 PM, Mario Kleiner
mario.kleiner...@gmail.com wrote:
On 07/07/2015 09:51 PM, Ilia Mirkin wrote:
Lastly, from some discussions with ajax on IRC, it appears that DRI3
is half-baked at best wrt sync between server and client
ario
On 11/06/2015 06:19 PM, Thierry Reding wrote:
Cc += Mario Kleiner, Mario, can you take a look whether this proposed
solution makes sense and fixes the issues you were seeing back when you
posted the patch in commit:
commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
Author: Mario Kleiner
On 11/09/2015 02:02 PM, Ilia Mirkin wrote:
On Mon, Nov 9, 2015 at 7:57 AM, Mario Kleiner
<mario.kleiner...@gmail.com> wrote:
From: Daniel Vetter <daniel.vet...@ffwll.ch>
Apparently pre-nv50 pageflip events happen before the actual vblank
period. Therefore that functionality got s
From: Daniel Vetter <daniel.vet...@ffwll.ch>
Apparently pre-nv50 pageflip events happen before the actual vblank
period. Therefore that functionality got semi-disabled in
commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
Author: Mario Kleiner <mario.kleiner...@gmail.com>
Date: Tue
From: Daniel Vetter <daniel.vet...@ffwll.ch>
Apparently pre-nv50 pageflip events happen before the actual vblank
period. Therefore that functionality got semi-disabled in
commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
Author: Mario Kleiner <mario.kleiner...@gmail.com>
Date: Tue
On 11/10/2015 05:00 PM, Thierry Reding wrote:
On Tue, Nov 10, 2015 at 03:54:52PM +0100, Mario Kleiner wrote:
From: Daniel Vetter <daniel.vet...@ffwll.ch>
Apparently pre-nv50 pageflip events happen before the actual vblank
period. Therefore that functionality got semi-disabled in
with ZaphodHeads. Any objections if I just push this out?
On Sat, Jun 27, 2015 at 8:33 PM, Mario Kleiner
<mario.kleiner...@gmail.com> wrote:
In multi-x-screen ZaphodHeads configurations, there isn't a
one-to-one mapping of kernel provided drmmode crtc index
to the index of the corresponding xf
Sorry for the late reply! Looking into it...
-mario
On 11/06/2015 06:19 PM, Thierry Reding wrote:
Cc += Mario Kleiner, Mario, can you take a look whether this proposed
solution makes sense and fixes the issues you were seeing back when you
posted the patch in commit:
commit
eriod. Therefore that functionality got semi-disabled in
commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
Author: Mario Kleiner <mario.kleiner...@gmail.com>
Date: Tue May 13 00:42:08 2014 +0200
drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.
Unfortunately that hack g
On 11/21/2016 05:50 PM, Hans de Goede wrote:
We need to call drm_helper_hpd_irq_event() on resume to properly detect
monitor connection / disconnection on some laptops, use hpd_work for
this to avoid deadlocks.
Hi,
this seems to introduce a hang of nouveau in 4.10-rc if the gpu is
runtime
-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Ben Skeggs <bske...@redhat.com>
---
drivers/gpu/drm/nouveau/nv50_display.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c
b/drivers/gpu/drm/nouveau/nv50_display.c
index a9855a4..ad
of uptime in a hard
to reproduce manner.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Ben Skeggs <bske...@redhat.com>
---
drivers/gpu/drm/nouveau/nouveau_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_
A missing u64 cast causes a 32-Bit wraparound from
4096 MiB to 0 MiB and therefore total 0 MiB VRAM detected
if card has 4096 Mib per FBP.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
---
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c | 2 +-
1 file changed, 1 insertion
(or echo 0 > /sys/module/drm/parameters/vblankoffdelay)
would keep vblank irqs permanently on to approximate old
behavior.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Cc: Michel Dänzer <michel.daen...@amd.com>
---
d
offdelay=0
would keep vblank irqs on to approximate old behavior.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Eric Anholt <e...@anholt.net>
---
drivers/gpu/drm/vc4/vc4_kms.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers
This patch series sets dev->vblank_disable_immediate = true on
radeon/amdgpu-kms, nouveau-kms for nv50+, and vc4 for the real
kms driver (as opposed to dispmanx firmware backed kms).
All the drivers should be ready in theory, given their implementation,
for fast vblank disable/enable. In
drm.vblankoffdelay=0
(or echo 0 > /sys/module/drm/parameters/vblankoffdelay)
would keep vblank irqs permanently on to approximate old
behavior.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Cc: Michel Dänzer <michel.daen...@amd.com
ith kernel cmdline option drm.vblankoffdelay=0
(or echo 0 > /sys/module/drm/parameters/vblankoffdelay)
would keep vblank irqs permanently on to approximate old
behavior.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: Ben Skeggs <bske...@redhat.com>
---
drivers/gpu/drm/n
On 06/21/2017 06:19 PM, Eric Anholt wrote:
Mario Kleiner <mario.kleiner...@gmail.com> writes:
With instantaneous high precision vblank timestamping
that updates at leading edge of vblank, the emulated
"hw vblank counter" from vblank timestamping which
increments at leadin
at > 8 bpc. This disables
color palette handling on such servers at > 8 bpc, but
still keeps RandR gamma table handling intact.
Tested on 1.19.6 and 1.20.0 to do the right thing.
Signed-off-by: Mario Kleiner
---
src/nv_driver.c | 11 +++
1 file changed, 7 insertions(+),
On Sat, Apr 28, 2018 at 7:22 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Thu, Mar 8, 2018 at 11:29 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
>> On Mon, Mar 5, 2018 at 7:33 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
>>> On Mon, Mar 5, 2018 at 1:17
equipment to make sure identity
gamma ramps actually are identity mappings at the output.
Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com>
---
src/nv_driver.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 32062eb..4fcd4c1
Cc'ing mesa-dev, which was left out.
On 03/05/2018 01:40 PM, Ilia Mirkin wrote:
On Mon, Mar 5, 2018 at 2:25 AM, Mario Kleiner
<mario.kleiner...@gmail.com> wrote:
On 02/05/2018 12:50 AM, Ilia Mirkin wrote:
In case anyone's curious about 30bpp framebuffer support, here's the
current
On 03/03/2018 12:59 AM, Ilia Mirkin wrote:
On Fri, Mar 2, 2018 at 6:46 PM, Mario Kleiner
<mario.kleiner...@gmail.com> wrote:
On 03/02/2018 11:29 PM, Ilia Mirkin wrote:
OK, so even if you're passing 1024 to xf86HandleColormaps, gamma_set
still only gets called with a 256-entry LUT?
On 02/05/2018 12:50 AM, Ilia Mirkin wrote:
In case anyone's curious about 30bpp framebuffer support, here's the
current status:
Kernel:
Ben and I have switched the code to using a 256-based LUT for Kepler+,
and I've also written a patch to cause the addfb ioctl to use the
proper format. You
On 03/02/2018 11:29 PM, Ilia Mirkin wrote:
On Fri, Mar 2, 2018 at 5:16 PM, Mario Kleiner
<mario.kleiner...@gmail.com> wrote:
On 03/01/2018 07:21 PM, nouveau-requ...@lists.freedesktop.org wrote:
Message: 1
Date: Thu, 1 Mar 2018 08:15:55 -0500
From: Ilia Mirkin <imir...@alum.mit.edu&g
On 03/01/2018 07:21 PM, nouveau-requ...@lists.freedesktop.org wrote:
Message: 1
Date: Thu, 1 Mar 2018 08:15:55 -0500
From: Ilia Mirkin <imir...@alum.mit.edu>
To: Mario Kleiner <mario.kleiner...@gmail.com>
Cc: nouveau <nouveau@lists.freedesktop.org>
Subject: Re: [Nouveau] [P
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART;VALUE=DATE:20231017
DTEND;VALUE=DATE:20231020
DTSTAMP:20230417T170311Z
ORGANIZER;CN=mario.kleiner...@gmail.com:mailto:mario.kleiner...@gmail.com
-...@lists.freedesktop.org
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=No
uveau Dev;X-NUM-GUESTS=0:mailto:nouveau@lists.freedesktop.org
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=mario.
kleiner...@gmail.com;X-NUM-GUESTS=0:mailto:mario.kleiner
70 matches
Mail list logo