From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mediacenter.hi.pengutronix.de ([2001:6f8:1178:2::65]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1SFJj4-0008LQ-W4 for ptxdist@pengutronix.de; Wed, 04 Apr 2012 08:29:50 +0200 Received: from mol by mediacenter.hi.pengutronix.de with local (Exim 4.72) (envelope-from ) id 1SFJj4-0004HG-Um for ptxdist@pengutronix.de; Wed, 04 Apr 2012 08:29:50 +0200 Date: Wed, 4 Apr 2012 08:29:50 +0200 From: Michael Olbrich Message-ID: <20120404062950.GO28453@pengutronix.de> References: <1333461891-10630-1-git-send-email-george.mccollister@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1333461891-10630-1-git-send-email-george.mccollister@gmail.com> Subject: Re: [ptxdist] [PATCH] xorg-server: fix neg sync transition Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de On Tue, Apr 03, 2012 at 09:04:51AM -0500, George McCollister wrote: > gnome-screen saver fades out to black before activating. > A bug in xorg-server prevents the fade out from being > interrupted by moving the cursor. > > Added patch 204_fix-neg-sync-transition.patch from: > xorg-server_1.9.0-0ubuntu7.6.diff.gz > > https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/595555 > https://bugzilla.redhat.com/show_bug.cgi?id=612620 > > There are been quite a lot of other fixes in the xorg-server 1.9 > branch. It would probably be a good idea update. > http://cgit.freedesktop.org/xorg/xserver/log/?h=server-1.9-branch I suppose we should update to 1.9.5 instead. Unfortunately I' rather busy and Xorg is not a high priority for me. But patches are welcome :-). Michael > > Signed-off-by: George McCollister > --- > .../204_fix-neg-sync-transition.patch | 84 ++++++++++++++++++++ > patches/xorg-server-1.9.3/series | 1 + > 2 files changed, 85 insertions(+), 0 deletions(-) > create mode 100644 patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > > diff --git a/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > new file mode 100644 > index 0000000..f10fb32 > --- /dev/null > +++ b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > @@ -0,0 +1,84 @@ > +commit da218289275e67e49d801d58dd818d237de8a9bc > +Author: Christopher James Halse Rogers > +Date: Tue Aug 24 13:30:25 2010 +1000 > + > + Xext: Fix edge case with {Positive,Negative}Transition triggers. > + > + The {Positive,Negative}Transition triggers only fire when the counter > + goes from strictly {below,above} the threshold. If > + SyncComputeBracketValues gets called exactly at this threshold we may update > + the bracket values so that the counter is not updated past the threshold. > + > + Signed-off-by: Christopher James Halse Rogers > + > +diff --git a/Xext/sync.c b/Xext/sync.c > +index a51262a..c00e692 100644 > +--- a/Xext/sync.c > ++++ b/Xext/sync.c > +@@ -959,6 +959,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) > + { > + psci->bracket_less = pTrigger->test_value; > + pnewltval = &psci->bracket_less; > ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && > ++ XSyncValueLessThan(pTrigger->test_value, > ++ psci->bracket_greater)) > ++ { > ++ /* > ++ * The value is exactly equal to our threshold. We want one > ++ * more event in the positive direction to ensure we pick up > ++ * when the value *exceeds* this threshold. > ++ */ > ++ psci->bracket_greater = pTrigger->test_value; > ++ pnewgtval = &psci->bracket_greater; > + } > + } > + else if (pTrigger->test_type == XSyncPositiveTransition && > +@@ -969,6 +980,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) > + { > + psci->bracket_greater = pTrigger->test_value; > + pnewgtval = &psci->bracket_greater; > ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && > ++ XSyncValueGreaterThan(pTrigger->test_value, > ++ psci->bracket_less)) > ++ { > ++ /* > ++ * The value is exactly equal to our threshold. We want one > ++ * more event in the negative direction to ensure we pick up > ++ * when the value is less than this threshold. > ++ */ > ++ psci->bracket_less = pTrigger->test_value; > ++ pnewltval = &psci->bracket_less; > + } > + } > + } /* end for each trigger */ > +commit d9e9c0c3cf0456f78b6eed3290e6a418e38963fb > +Author: Christopher James Halse Rogers > +Date: Tue Aug 24 13:35:05 2010 +1000 > + > + IDLETIME: Fix edge-case in IdleTimeBlockHandler > + > + Ensure that if we're called exactly on the threshold of a > + NegativeTransition trigger that we reshedule to pick up > + an idle time over the threshold. > + > + Signed-off-by: Christopher James Halse Rogers > + > +diff --git a/Xext/sync.c b/Xext/sync.c > +index c00e692..314b63e 100644 > +--- a/Xext/sync.c > ++++ b/Xext/sync.c > +@@ -2322,6 +2322,14 @@ IdleTimeBlockHandler(pointer env, struct timeval **wt, pointer LastSelectMask) > + break; > + } > + } > ++ /* > ++ * We've been called exactly on the idle time, but we have a > ++ * NegativeTransition trigger which requires a transition from an > ++ * idle time greater than this. Schedule a wakeup for the next > ++ * millisecond so we won't miss a transition. > ++ */ > ++ if (XSyncValueEqual (idle, *pIdleTimeValueLess)) > ++ AdjustWaitForDelay(wt, 1); > + } > + else if (pIdleTimeValueGreater) > + { > diff --git a/patches/xorg-server-1.9.3/series b/patches/xorg-server-1.9.3/series > index aa40d1d..2050ec2 100644 > --- a/patches/xorg-server-1.9.3/series > +++ b/patches/xorg-server-1.9.3/series > @@ -3,3 +3,4 @@ loader-when-creating-sdksyms.c-only-include-shmint.h.patch > remove_udev_if_disabled.diff > remove_dbus_if_disabled.diff > remove_hal_if_disabled.diff > +204_fix-neg-sync-transition.patch > -- > 1.7.8.4 > > > -- > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de