Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2564111imu; Thu, 29 Nov 2018 06:59:17 -0800 (PST) X-Google-Smtp-Source: AFSGD/WB//axD8SOXEF1J3Nxa9I8GI+1I9rKSDC41KANJruTp9Wyh5N7q/47X/TmMe8Svhzx9+l3 X-Received: by 2002:a17:902:6b46:: with SMTP id g6mr1784186plt.21.1543503557907; Thu, 29 Nov 2018 06:59:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543503557; cv=none; d=google.com; s=arc-20160816; b=B7mdeTlKjBiMh42OR8+qbMNING8IN7rVj4Mvhf2WTwh8zuVSEcsoPBkT/PiBwxoHAO jH8h+ES/5AKgItBoerYXOJPp8GdimlWOGFWpDfgmZGbj9DR425PkCKvc9fhLc4+pxgSd Yoyr/AWApEPuSe02GHNZ6MCpZgESbRZLFHPLf9q0HGA6l/tklxkMJp9SbOM+O82Ge+en N33gLxtQMPqkNXEb3/6ldYSIL37M6J9Cf4+Bjx5pIE2R5Zyxcie8GlwF7XG97GtNyx9p Vya2aD8DXmpmzVA9LAEaZzWeBiFq9K3Oum62wt+AH55kpZqM1GDw0xSMf3Wh9oy6WvBi ariA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QsjcyRgUJrJxBNX4sL5H1w2flvKWQrq7wT8PZf2Z4G4=; b=DshGhQVCdI/3KwvtAHWqyDKKJil+ECNSXpVmW6M0jVXBv1HvK1MzyKY8k7PgsrrnAi GghvX9N6PNzJgT6JFQYG/DlGGrLVKTfzP8HN8x/H0mM1NlYQi3YkMG4rEQEKw9FYyczC dOLy7R2QFidHWdE0LGZ6SvP5psU5ajR0wZrbU0UoiFiq/zfreszZmnH/qsA5puKmbdE3 7TK1ywVcAZnQ00i+Cr+JSodmBySzEQlLZ9YTjymsSCaj3+oVBJRWBS+kDM1b3mmnk+Dc WqjV3hMWIHpemBK2MdrpSdHdI//J6/Zor6Fc24hIbomQiVAXY2qDzCE8Vb8TdKOKLj4L nCfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uHoWcZny; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c10si2304964pla.173.2018.11.29.06.58.58; Thu, 29 Nov 2018 06:59:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uHoWcZny; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730667AbeK3BZq (ORCPT + 99 others); Thu, 29 Nov 2018 20:25:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:49202 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729581AbeK3BZq (ORCPT ); Thu, 29 Nov 2018 20:25:46 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 20630205C9; Thu, 29 Nov 2018 14:20:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543501211; bh=26CZvhp+/rDYpfjhDmsOft+/LfZue39dMMfnoX+OH/I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uHoWcZnykEMOIFTikExja3kSUPjk4Bsx3O8/BGCFnQ4r+U6JiN+301yRx+3PgZNcu CJbPA1fFVEhol0fJkSWv+sead26y2z7Xl3GPPoU/+WKAmXME/BmOm6qAP5Pi+8St+N MpBHDncjvzq0mS85iJ7y/Xoahq7c49zx8W8uOil8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thomas Zimmermann , "Y.C. Chen" , Jean Delvare , Dave Airlie Subject: [PATCH 4.4 86/86] drm/ast: Remove existing framebuffers before loading driver Date: Thu, 29 Nov 2018 15:12:51 +0100 Message-Id: <20181129140116.579543061@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181129140109.832117862@linuxfoundation.org> References: <20181129140109.832117862@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Thomas Zimmermann commit 5478ad10e7850ce3d8b7056db05ddfa3c9ddad9a upstream. If vesafb attaches to the AST device, it configures the framebuffer memory for uncached access by default. When ast.ko later tries to attach itself to the device, it wants to use write-combining on the framebuffer memory, but vesefb's existing configuration for uncached access takes precedence. This results in reduced performance. Removing the framebuffer's configuration before loding the AST driver fixes the problem. Other DRM drivers already contain equivalent code. Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1112963 Signed-off-by: Thomas Zimmermann Cc: Tested-by: Y.C. Chen Reviewed-by: Jean Delvare Tested-by: Jean Delvare Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/ast/ast_drv.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) --- a/drivers/gpu/drm/ast/ast_drv.c +++ b/drivers/gpu/drm/ast/ast_drv.c @@ -60,8 +60,29 @@ static const struct pci_device_id pciidl MODULE_DEVICE_TABLE(pci, pciidlist); +static void ast_kick_out_firmware_fb(struct pci_dev *pdev) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return; + + ap->ranges[0].base = pci_resource_start(pdev, 0); + ap->ranges[0].size = pci_resource_len(pdev, 0); + +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, "astdrmfb", primary); + kfree(ap); +} + static int ast_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { + ast_kick_out_firmware_fb(pdev); + return drm_get_pci_dev(pdev, ent, &driver); }