Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2545244imu; Thu, 29 Nov 2018 06:41:04 -0800 (PST) X-Google-Smtp-Source: AFSGD/UXwyDZzCGr6Pl0FBHUJz1IXIC9Nd6KIBlw5mIjbYmRKKbvW63AM0hiRsjjAvrzYbPaU/o6 X-Received: by 2002:a63:3546:: with SMTP id c67mr1491251pga.284.1543502464290; Thu, 29 Nov 2018 06:41:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543502464; cv=none; d=google.com; s=arc-20160816; b=uEV8G/H5PMkUt7XLvs6ddGJCC8Wv/Q1ITaKIkaWyDsGZdFfsNOaUEPAbLXndi2QmX5 8c7dSUb2xNhmo3AROACmYwRuXU0scWzU2QXmT1ganVo4c/Ql2OTzsHQrdIavTZOfknQs PNNj3mkWmRBWD/v+N3hXLvYvetsBKhRGE6WUlNVLUG7Ra/ubwBvZ9dbgNr5F354TU85o SFZFgR7wlkN8p574LzpoBaqxRDaZhYGJErXjRQ245mE7evfTtFKwZieowfizNc8bAVis kMyExRx3y46S1dyzalcmQ7GwGh1VPXLO7ehIRQoENBAilHSFjGVgpwZx7KZeHjWXuTVy ew0w== 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=yhXWMV3nyV4KyNdxlJDgQMBWspdHY9QhdC2DbGvqFqc=; b=XNF5e19iUi7a8OWDQGXByiDs10ZOFx4vvb6h+zS+xaS9FOaUQAwHHtUGAzv+e2SB/v zwPQT1V2JcAcN9y/Y/maePOdHVGS9x8U6MjyFK3EE3AqMTzZC/RPJ4hLXVk7JMvyxMN7 rCBE71lK24CpFIjqfbw+gJORCQswZS4LK2Jwz6Ep2Vk7XcDk6jfTxlHZtJAKwVqzkTc4 gPVyG2L5ntaMqlFf7W0+yzI749lqehB1L0U8+/drMS7va9nr+3q/sdea1FkSJEXTmCGt 9mazNEHzBo4qfvpFvTk7rUOySHnGlBQiiQuQV1I/OarF/8xv2yrLNaOydnoSFYXwF4VT yA/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Gz76pYbd; 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 f21si2127096pgb.371.2018.11.29.06.40.42; Thu, 29 Nov 2018 06:41:04 -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=Gz76pYbd; 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 S2388651AbeK3Bfj (ORCPT + 99 others); Thu, 29 Nov 2018 20:35:39 -0500 Received: from mail.kernel.org ([198.145.29.99]:37646 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388157AbeK3Bfi (ORCPT ); Thu, 29 Nov 2018 20:35:38 -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 34C842145D; Thu, 29 Nov 2018 14:30:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543501805; bh=oLjM75amQRPULmyTgBhtd2jAUdjrMLnuYTaKYG8slN0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Gz76pYbdWUQXbbtvO2Z5uY4+o3jw/l5fkzjucS+8CcA0dB0/Z0VxbU8OYoc40xlwS ks1QYSXDun3VOZyHTW1CIlOANvSlC3oAGpu4aZiK6SYQW8VilhmZy32dwMdsrGApFI iCTfzKi+nsCLlouWsImI13MsZQb61yP4LaRV8HQ0= 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.19 047/110] drm/ast: Remove existing framebuffers before loading driver Date: Thu, 29 Nov 2018 15:12:18 +0100 Message-Id: <20181129135923.165699106@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181129135921.231283053@linuxfoundation.org> References: <20181129135921.231283053@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.19-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 + drm_fb_helper_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); }