From patchwork Fri May 30 18:05:22 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jesse Barnes X-Patchwork-Id: 4273231 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6881C9F336 for ; Fri, 30 May 2014 18:05:43 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8E01E203AC for ; Fri, 30 May 2014 18:05:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id C7C1A2039D for ; Fri, 30 May 2014 18:05:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2E2986EB24; Fri, 30 May 2014 11:05:41 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from gproxy3-pub.mail.unifiedlayer.com (gproxy3-pub.mail.unifiedlayer.com [69.89.30.42]) by gabe.freedesktop.org (Postfix) with SMTP id 7CB496EB23 for ; Fri, 30 May 2014 11:05:39 -0700 (PDT) Received: (qmail 28892 invoked by uid 0); 30 May 2014 18:05:38 -0000 Received: from unknown (HELO cmgw3) (10.0.90.84) by gproxy3.mail.unifiedlayer.com with SMTP; 30 May 2014 18:05:38 -0000 Received: from box514.bluehost.com ([74.220.219.114]) by cmgw3 with id 8J5U1o00n2UhLwi01J5Xhx; Fri, 30 May 2014 12:05:38 -0600 X-Authority-Analysis: v=2.1 cv=XPOjF2RE c=1 sm=1 tr=0 a=9W6Fsu4pMcyimqnCr1W0/w==:117 a=9W6Fsu4pMcyimqnCr1W0/w==:17 a=cNaOj0WVAAAA:8 a=f5113yIGAAAA:8 a=256xx22r7iMA:10 a=3ROhxo7VqVMA:10 a=TBVoxVdAAAAA:8 a=GhZ5P8ky69gA:10 a=noBwr2J6l1kA:10 a=Nh6vP3kOTIn-W7S7WPEA:9 a=rW6DTWptwo0A:10 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuousgeek.org; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:To:From; bh=LBJ+MFQKoFMvIMf4HwSv6VKV35rq0oT9x60MBw49A7U=; b=WeCJ4ohwr0KZPs+GAnM3J1iDQrnN8RJRrO/2nQL7b6+VOIoMClq2iOuagBdGMOYaaEMLaN8Mw1ZvdZ05bL+drCQDI8HhmgJVh2iH5ykUJjLBtPLE2XQRxJjHw5xa5vxx; Received: from [67.161.37.189] (port=60488 helo=localhost.localdomain) by box514.bluehost.com with esmtpsa (TLSv1.2:AES128-SHA256:128) (Exim 4.82) (envelope-from ) id 1WqRBI-0000Iy-0a for intel-gfx@lists.freedesktop.org; Fri, 30 May 2014 12:05:28 -0600 From: Jesse Barnes To: intel-gfx@lists.freedesktop.org Date: Fri, 30 May 2014 11:05:22 -0700 Message-Id: <1401473122-3451-2-git-send-email-jbarnes@virtuousgeek.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1401473122-3451-1-git-send-email-jbarnes@virtuousgeek.org> References: <1401473122-3451-1-git-send-email-jbarnes@virtuousgeek.org> X-Identified-User: {10642:box514.bluehost.com:virtuous:virtuousgeek.org} {sentby:smtp auth 67.161.37.189 authed with jbarnes@virtuousgeek.org} Subject: [Intel-gfx] [PATCH 2/2] drm/i915: make userspace mode sets asynchronous X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham 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 Now that we can queue CRTC enable/disable calls for later, we can allow userspace mode sets to return immediately. This may mean that userspace will draw into a buffer that's not yet displayed (which is fine) or that it may draw into a buffer it thinks is no longer displayed (which could lead to some visual artifacts until the mode set completes, but is otherwise harmless). Page flip and cursor activity will synchronize with any outstanding activity to avoid problems with the display being off for those operations. It should be possible to queue those ops as well though and further de-couple driver updates of the hw state from userspace queueing of commands. Signed-off-by: Jesse Barnes --- drivers/gpu/drm/i915/intel_display.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 8c52038..74310b5 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10545,10 +10545,6 @@ static int intel_set_mode(struct drm_crtc *crtc, ret = __intel_set_mode(crtc, mode, x, y, fb); - intel_sync_crtcs(crtc->dev->dev_private); - if (ret == 0) - intel_modeset_check_state(crtc->dev); - return ret; }