From patchwork Thu May 26 14:13:31 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Lutomirski X-Patchwork-Id: 820982 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.3) with ESMTP id p4QEImvB017273 for ; Thu, 26 May 2011 14:18:50 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932461Ab1EZOSu (ORCPT ); Thu, 26 May 2011 10:18:50 -0400 Received: from DMZ-MAILSEC-SCANNER-8.MIT.EDU ([18.7.68.37]:52749 "EHLO dmz-mailsec-scanner-8.mit.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932372Ab1EZOSu (ORCPT ); Thu, 26 May 2011 10:18:50 -0400 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Thu, 26 May 2011 14:18:51 +0000 (UTC) X-Greylist: delayed 300 seconds by postgrey-1.27 at vger.kernel.org; Thu, 26 May 2011 10:18:49 EDT X-AuditID: 12074425-b7b78ae000007e02-d7-4dde600d6429 Received: from mailhub-auth-4.mit.edu ( [18.7.62.39]) by dmz-mailsec-scanner-8.mit.edu (Symantec Messaging Gateway) with SMTP id A1.6B.32258.D006EDD4; Thu, 26 May 2011 10:13:33 -0400 (EDT) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-4.mit.edu (8.13.8/8.9.2) with ESMTP id p4QEDmHM014525; Thu, 26 May 2011 10:13:48 -0400 Received: from localhost (207-172-69-77.c3-0.smr-ubr3.sbo-smr.ma.static.cable.rcn.com [207.172.69.77]) (authenticated bits=0) (User authenticated as luto@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id p4QEDiPY028074 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 26 May 2011 10:13:47 -0400 (EDT) From: Andy Lutomirski To: Peter Jones , linux-fbdev@vger.kernel.org Cc: Andy Lutomirski Subject: [PATCH 1/4] efifb: Enable write-combining Date: Thu, 26 May 2011 10:13:31 -0400 Message-Id: <3647a3cc4157f8c50ab719f1a7500e695cf66a05.1306418703.git.luto@mit.edu> X-Mailer: git-send-email 1.7.5.1 In-Reply-To: References: In-Reply-To: References: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrIIsWRmVeSWpSXmKPExsUixG6nrsubcM/X4MxJKYu+K0fZLU70fWC1 6Fp4g92B2WPnrLvsHu/3XWXz+LxJLoA5issmJTUnsyy1SN8ugStjy/VHjAVXOSr2rpjO2MA4 l72LkZNDQsBEoqPhLSuELSZx4d56ti5GLg4hgX2MEq3vPzJDOBsYJVZMnQblPGOSuP3+CxNI C5uAikTH0gdgtoiAg8SsVb0sIDazgJLEkz3fwMYKCxhJHNp+CKiGg4NFQFXi1/ookDCvQJDE qvmfGSE2K0hcuTIPrJVTwEDibcczVpByIQF9iS3rDHAIT2AUWMDIsIpRNiW3Sjc3MTOnODVZ tzg5MS8vtUjXQi83s0QvNaV0EyM43FxUdzBOOKR0iFGAg1GJh3ehwl1fIdbEsuLK3EOMkhxM SqK8xnH3fIX4kvJTKjMSizPii0pzUosPMUpwMCuJ8CpFAeV4UxIrq1KL8mFS0hwsSuK88yXV fYUE0hNLUrNTUwtSi2CyMhwcShK8m0GGChalpqdWpGXmlCCkmTg4QYbzAA1fAlLDW1yQmFuc mQ6RP8VozPH0048DjBxTb/8+wCjEkpeflyolDjFOAKQ0ozQPbhosZbxiFAd6Tph3PUgVDzDd wM17BbSKCWiVzu+7IKtKEhFSUg2Ms0/l2j6TE5v39kefj+SfjctZypwuLH/GxFbz2fvorX/u L69sKeq/5rqPd+U0j+I23TdxuStuPt69P1fqXcDx+7o3FVvnNtZPuPTlGKOKpIfLvLT1N7qF Vef1mihd39IfxG7Byurfl7EmZcN16+/5tSZeTJZz+g6JvVeP+PKqLe5VxoNJFuE5SizFGYmG WsxFxYkACbHtCfQCAAA= Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org Running fbcon on an uncached framebuffer is remarkably slow. So try to enable write combining in efifb. Without this patch, it takes 5.8 seconds from efifb probe to i915 probe (default options; no plymouth or quiet mode). With this patch, it only takes 1.7 seconds. That means we wasted over 4 seconds just writing to UC memory. Signed-off-by: Andy Lutomirski Signed-off-by: Peter Jones --- drivers/video/efifb.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c index 4eb38db..a81c944 100644 --- a/drivers/video/efifb.c +++ b/drivers/video/efifb.c @@ -413,7 +413,7 @@ static int __devinit efifb_probe(struct platform_device *dev) info->apertures->ranges[0].base = efifb_fix.smem_start; info->apertures->ranges[0].size = size_remap; - info->screen_base = ioremap(efifb_fix.smem_start, efifb_fix.smem_len); + info->screen_base = ioremap_wc(efifb_fix.smem_start, efifb_fix.smem_len); if (!info->screen_base) { printk(KERN_ERR "efifb: abort, cannot ioremap video memory " "0x%x @ 0x%lx\n",