Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2474022pxa; Mon, 17 Aug 2020 10:27:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwG5SCJW+DxZ/BKV8Hl+igp87Z8lMOkD1/xI7lBd93efa8yRiH7oq4TtaGwOb+8PL5zlM+q X-Received: by 2002:a05:6402:31a3:: with SMTP id dj3mr16226378edb.73.1597685232889; Mon, 17 Aug 2020 10:27:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597685232; cv=none; d=google.com; s=arc-20160816; b=Sg2o60VDuisVCZF4itnyWE2Yg1eVRrrSr3ZU/DFWa0xLxgXi+qVrD3l4FqGrvSxNID ER/JE72HthWyYm+4aq3tNKcUzsSH5JnTY6SZ49Vg4f2ANcmlnz0L3804VPmHvnyROcrV iDXECxt2DYzhyT5yMBNAXK1GQ++qHfUJE70+AUQ2DncPBWH0z+gglJVkcg2pf9SK76bl 6jaaJdBPYg04cnP0N8fwuBPYQdoCC4NUA8eBgLjsiquEmcUNU4zxoEjO/pA8gEBEGEhm OkL1mAOpQaX+9O3gQ3SwTjoOjncSE5Hl92ZnW/na9tNpwcQ1d9Vry5OwDrqY7hBMDv/8 WveA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:message-id:subject:cc:to:from:date :dkim-signature; bh=wQEsBnNzsaQkNAmSnxmZwrr68V1vXmhy7uuIDR1/iwA=; b=QWMm8kDGW+07ipIeHDSbtl+SkwIRXe/yLIDgwpf95UV9Euw5uOCF/IVE7IMpxjmGq3 GBlxt5EmWEV5KlOaSobPeSmanqO4iCXwwGae6aemKtPb7NWpB749fe5wOdKzo5hfrRRX Xp6VGWxw43k8ASXZiaiTJXDJpF9B/dJf7oYFZ90pv8pcJB5z+Utyd3cWCpKZHjyikm8w M1iOUTjlMHfbA9FBuPbl9nkiJ2Y4IIudmHSGAabrfY+AF9urnBGrseaDGE0OSWFmeQzj 0atoO8rtlz4pbmkaUvV1LdjZAUgGHbNgZCfl7lZcbtIzv/AS2QsyeZgCnScd47Ucj+hO jHyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="I0l69/eV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u6si11329947eje.234.2020.08.17.10.26.49; Mon, 17 Aug 2020 10:27:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="I0l69/eV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389993AbgHQRYs (ORCPT + 99 others); Mon, 17 Aug 2020 13:24:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:48680 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389308AbgHQRMB (ORCPT ); Mon, 17 Aug 2020 13:12:01 -0400 Received: from localhost (104.sub-72-107-126.myvzw.com [72.107.126.104]) (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 C44AF2067C; Mon, 17 Aug 2020 17:12:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1597684321; bh=BFKmMwm3OgowIDbWwU9+GxfmhcLKDlOgozUQDhUzMwE=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=I0l69/eVcqo9XoM5DNTMT2IHtJeSrEZ38TqHPaQ/MVg8ogXat9uYkR7vEL1h7hC/z 4cLCk8F86byzwpWkE5mzd9DLMcDhX/pCeCX3FeDhyRFWxlZX5zhabrxqFjID+r4yxO t824qZlf+pcCGkc+eCBMReSoEY+74OYfzcbpY05c= Date: Mon, 17 Aug 2020 12:11:59 -0500 From: Bjorn Helgaas To: Alex =?iso-8859-1?Q?Benn=E9e?= Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.cs.columbia.edu, christoffer.dall@arm.com, maz@kernel.org, Robert Richter , linux-pci@vger.kernel.org Subject: Re: [PATCH v1 1/3] arm64: allow de-selection of ThunderX PCI controllers Message-ID: <20200817171159.GA1426023@bjorn-Precision-5520> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200804124417.27102-2-alex.bennee@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 04, 2020 at 01:44:15PM +0100, Alex Benn?e wrote: > For a pure VirtIO guest bringing in all the PCI quirk handling adds a > significant amount of bloat to kernel we don't need. Solve this by > adding a CONFIG symbol for the ThunderX PCI devices and allowing it to > be turned off. Saving over 300k from the uncompressed vmlinux: It *looks* like just turning off CONFIG_PCI_QUIRKS should be sufficient because pci-thunder-ecam.c and pci-thunder-pem.c are wrapped with: #if defined(CONFIG_PCI_HOST_THUNDER_PEM) || (defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)) so if you turn off CONFIG_PCI_HOST_THUNDER_ECAM, CONFIG_PCI_HOST_THUNDER_PEM, and CONFIG_PCI_QUIRKS that should omit pci-thunder-ecam.o and pci-thunder-pem.o. But I must be missing something. > -rwxr-xr-x 1 alex alex 85652472 Aug 3 16:48 vmlinux* > -rwxr-xr-x 1 alex alex 86033880 Aug 3 16:39 vmlinux.orig* > > Signed-off-by: Alex Benn?e > Cc: Robert Richter > Cc: linux-pci@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > --- > arch/arm64/Kconfig.platforms | 2 ++ > arch/arm64/configs/defconfig | 1 + > drivers/pci/controller/Kconfig | 7 +++++++ > drivers/pci/controller/Makefile | 4 ++-- > 4 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms > index 8dd05b2a925c..a328eebdaa59 100644 > --- a/arch/arm64/Kconfig.platforms > +++ b/arch/arm64/Kconfig.platforms > @@ -253,12 +253,14 @@ config ARCH_SPRD > > config ARCH_THUNDER > bool "Cavium Inc. Thunder SoC Family" > + select PCI_THUNDER > help > This enables support for Cavium's Thunder Family of SoCs. > > config ARCH_THUNDER2 > bool "Cavium ThunderX2 Server Processors" > select GPIOLIB > + select PCI_THUNDER Indent these with tabs, not spaces, to be consistent with other whitespace usage in this file. > help > This enables support for Cavium's ThunderX2 CN99XX family of > server processors. > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index 2ca7ba69c318..d840cba99941 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -199,6 +199,7 @@ CONFIG_PCI_HOST_GENERIC=y > CONFIG_PCI_XGENE=y > CONFIG_PCIE_ALTERA=y > CONFIG_PCIE_ALTERA_MSI=y > +CONFIG_PCI_THUNDER=y > CONFIG_PCI_HOST_THUNDER_PEM=y > CONFIG_PCI_HOST_THUNDER_ECAM=y > CONFIG_PCIE_ROCKCHIP_HOST=m > diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig > index adddf21fa381..28335ffa5d48 100644 > --- a/drivers/pci/controller/Kconfig > +++ b/drivers/pci/controller/Kconfig > @@ -286,6 +286,13 @@ config PCI_LOONGSON > Say Y here if you want to enable PCI controller support on > Loongson systems. > > +config PCI_THUNDER > + bool "Thunder X PCIE controllers" > + depends on ARM64 > + select PCI_QUIRKS > + help > + Say Y here to enable ThunderX ECAM and PEM PCI controllers. Indent with tabs, not spaces. The existing Kconfig help text refers to simply "Thunder", not "Thunder X", so both of these references should probably follow suit. s/PCIE controllers/PCIe controllers/ > source "drivers/pci/controller/dwc/Kconfig" > source "drivers/pci/controller/mobiveil/Kconfig" > source "drivers/pci/controller/cadence/Kconfig" > diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile > index efd9733ead26..8fad4781a5d3 100644 > --- a/drivers/pci/controller/Makefile > +++ b/drivers/pci/controller/Makefile > @@ -45,8 +45,8 @@ obj-y += mobiveil/ > # ARM64 and use internal ifdefs to only build the pieces we need > # depending on whether ACPI, the DT driver, or both are enabled. > > +obj-$(CONFIG_PCI_THUNDER) += pci-thunder-ecam.o > +obj-$(CONFIG_PCI_THUNDER) += pci-thunder-pem.o > ifdef CONFIG_PCI > -obj-$(CONFIG_ARM64) += pci-thunder-ecam.o > -obj-$(CONFIG_ARM64) += pci-thunder-pem.o > obj-$(CONFIG_ARM64) += pci-xgene.o > endif > -- > 2.20.1 >