From patchwork Mon Jan 19 20:43:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 5660961 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 097D7C058E for ; Mon, 19 Jan 2015 20:43:49 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3455920123 for ; Mon, 19 Jan 2015 20:43:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 3762020114 for ; Mon, 19 Jan 2015 20:43:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7AB896E2D0; Mon, 19 Jan 2015 12:43:45 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id 29E0B6E2C7; Mon, 19 Jan 2015 12:43:44 -0800 (PST) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from nuc-i3427.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 35393520-1500048 for multiple; Mon, 19 Jan 2015 20:43:48 +0000 Received: by nuc-i3427.alporthouse.com (sSMTP sendmail emulation); Mon, 19 Jan 2015 20:43:34 +0000 Date: Mon, 19 Jan 2015 20:43:34 +0000 From: Chris Wilson To: Matt Roper Subject: Re: [Intel-gfx] [BUG, bisect] drm/i915: mouse pointer lags and overshoots Message-ID: <20150119204334.GI26577@nuc-i3427.alporthouse.com> Mail-Followup-To: Chris Wilson , Matt Roper , Daniel Vetter , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= , Jeremiah Mahler , Jani Nikula , David Airlie , Alex Deucher , Dave Airlie , Ander Conselvan de Oliveira , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20150117100635.GA1281@hudson.localdomain> <20150119090847.GQ10649@intel.com> <54BCE1BF.5050808@intel.com> <20150119110404.GA26577@nuc-i3427.alporthouse.com> <20150119164024.GI22549@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20150119164024.GI22549@intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Dave Airlie , Alex Deucher , Daniel Vetter , Jeremiah Mahler X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Mon, Jan 19, 2015 at 08:40:24AM -0800, Matt Roper wrote: > On Mon, Jan 19, 2015 at 11:04:04AM +0000, Chris Wilson wrote: > > On Mon, Jan 19, 2015 at 11:51:43AM +0100, Daniel Vetter wrote: > > > There's also an issue in (most) X drivers which exaberates this > > > issues: When changing the cursor buffer the X cursor code does a a) > > > disable cursor b) update cursor image c) enable cursor cycle. > > > > Notably not -intel on which the bug has been observed. And more > > importantly, the slow downs don't seem to correlate with cursor change, > > just cursor movement. > > -Chris > > > > -- > > Chris Wilson, Intel Open Source Technology Centre > > It seems that the simple fix for this case (movement only) is to just > skip the prepare_fb/cleanup_fb calls (and the associated vblank wait) in > the transitional plane helper when newfb == oldfb. I just posted a > small patch that makes that change (and solves the cursor lag for me). > > This won't solve the case if userspace uses a different framebuffer for > each update (while trying to update faster than the refresh rate). Is > there any existing userspace that behaves this way that we can test > with? -modesetting and say moving the cursor in/out of an xterm very fast. or similarly with diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 5b45618..3873893 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -5182,7 +5182,6 @@ sna_cursors_init(ScreenPtr screen, struct sna *sna) cursor_info->MaxWidth = sna->cursor.max_size; cursor_info->MaxHeight = sna->cursor.max_size; cursor_info->Flags = (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP | - HARDWARE_CURSOR_UPDATE_UNHIDDEN | HARDWARE_CURSOR_ARGB); cursor_info->RealizeCursor = sna_realize_cursor;