Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp426725imm; Thu, 21 Jun 2018 22:11:11 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKNO6vmSPecbFzIqqr+fRDxZL1x8IQsiyt8yqW/n+HLPqnl+u/wEJ6UgC2pImLOCHzXjg5b X-Received: by 2002:a63:8f19:: with SMTP id n25-v6mr89045pgd.344.1529644270988; Thu, 21 Jun 2018 22:11:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529644270; cv=none; d=google.com; s=arc-20160816; b=wGlYH4bkkDMulcpvRKuWVHWpwWpga7guqbp4rEhmY/MBmRiCkLtmFaHWaOvalVmsst kFAa0QU28YMbxDWXuA9j6wLLLG1ECERc0S1ToxGFwd+sMUwjpziyNAxORTghhgZjx2H9 lgYHvHHWRPKi3NgMHA9TWhOkVPk7vEn/oe4GlMl/OPhyFvBZAOa8USRZ67lmzn6wSG09 oP9j84cJgt752IqPILXHQ1V8627UakSUdyc84PDC3j5xbMAlORuCl9eun6dMIWHcdP6H shLOdGY52TfZVNtQc1qaSwatXAP0ADY7n1VdVAp+UNhe0Fg+a+rod/jDXHMtXIs+Fyz1 XB6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=eCJlyAf1W9uBUQflwc+ZIZuw2hJc3V34rTZsjWFhcug=; b=rf4CE9ruETdwql/s0bVW1SNtwffk6yuL6nNLUF5t77QMec1UFa2zGmo3ouoiaIIUyj /AEIJzkVw+jBFsmRGR2vvcjR50VFBaXy+XxlFlar7j4QZxJx+eQa3TxZYZdJUXCujazy YGhrQbCAbc0qcNXP+XMC0UlfLYEjhSa3+B3OkdG2utmMW4EapItiRoYbwhppDlfA9Cgd 0ZYQ+77zGp3GKScgiDIiHsKRwG+79Ug1u61YOzes3/ZRF2AnFMyRVzskprYp2wHkHnxC URsP/r999nBHhlySSDMdencP2SZ4EGmLDZAa/EliRzoB+1jh4AHpfD54bJWHfM18PzTL oc4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=FXt3VjqO; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g15-v6si6436815plq.242.2018.06.21.22.10.56; Thu, 21 Jun 2018 22:11:10 -0700 (PDT) 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=@broadcom.com header.s=google header.b=FXt3VjqO; 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; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751303AbeFVFIi (ORCPT + 99 others); Fri, 22 Jun 2018 01:08:38 -0400 Received: from mail-qk0-f194.google.com ([209.85.220.194]:42017 "EHLO mail-qk0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751135AbeFVFIg (ORCPT ); Fri, 22 Jun 2018 01:08:36 -0400 Received: by mail-qk0-f194.google.com with SMTP id u62-v6so547537qkf.9 for ; Thu, 21 Jun 2018 22:08:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=eCJlyAf1W9uBUQflwc+ZIZuw2hJc3V34rTZsjWFhcug=; b=FXt3VjqOFskqzbQFtxW9QvsiHKFpg2DrpkK34jop2pC/S5OWazLyV07WRISVnDeuV/ MMabl3PASG9xXnL8CncoaIhW0XEa6jgRVCrC/dqlf620txH9cgBXK06em8Y5cCyzmUSk D91/UXTGh2BqIB4gq1aXWYKo6pq0Bfk9Kmr8o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=eCJlyAf1W9uBUQflwc+ZIZuw2hJc3V34rTZsjWFhcug=; b=RR3F15IUkMqmdDEtjCWpkCKur8smXLeH5qnQUa06Rr9fz5RO/d99ukyoJy2wGulA+C WzqxpmgBI1ofALy8/Mec5lvuTR0z4SjcRzVHzXMygii2BxALbZv36VJ1FpOX9G1HoVni xbU3dBitwp+gbD+KddXLZRhFK12T0AFYXM/LWmA1tDYLeVJNLQPr8wPlI0FzmBqrPep6 kSN+n5ssN6mI7PNHpgaFrU13WV3Ax61gzwJ8VNXDh8K8bpBByoFoHJzLLlzf3lEFZat0 oPKrrX/JlBruOxwPPqscZUtLmAjkcsJ4He4uKQiGdGuhez43pBt8Lrcryp9xcrvlb5VD LZyg== X-Gm-Message-State: APt69E1d88b2HugN0IuxffezGgC4hc6M0wGxaikbWIo98mTIr+Ttm2/u +vpvL6wk1y2c5qRXKaK7zreNbA== X-Received: by 2002:a37:b001:: with SMTP id z1-v6mr81683qke.225.1529644115794; Thu, 21 Jun 2018 22:08:35 -0700 (PDT) Received: from [10.136.13.65] ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id l25-v6sm3852501qkk.49.2018.06.21.22.08.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jun 2018 22:08:34 -0700 (PDT) Subject: Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig To: Lorenzo Pieralisi , Jan Kiszka , Ley Foon Tan Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Will Deacon , Bjorn Helgaas , Rob Herring , Russell King , Guenter Roeck References: <20180619112105.14457-1-lorenzo.pieralisi@arm.com> <30bb8a16-f829-a5a4-265f-2d1112d8d0bf@siemens.com> <20180621165400.GB14519@e107981-ln.cambridge.arm.com> From: Scott Branden Message-ID: <5e9b0aa4-ded1-725d-c401-49c13b7d5f9d@broadcom.com> Date: Thu, 21 Jun 2018 22:08:17 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180621165400.GB14519@e107981-ln.cambridge.arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote: > On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote: >> On 2018-06-19 13:21, Lorenzo Pieralisi wrote: >>> Commit 51bc085d6454 ("PCI: Improve host drivers compile test coverage") >>> added configuration options to allow PCI host controller drivers to be >>> compile tested on all architectures. >>> >>> Some host controller drivers (eg PCIE_ALTERA) config entries select >>> the PCI_DOMAINS config option to enable PCI domains management in >>> the kernel. Now that host controller drivers can be compiled on >>> all architectures, this triggers build regressions on arches that >>> do not implement the PCI_DOMAINS required API (ie pci_domain_nr()): >>> >>> drivers/ata/pata_ali.c: In function 'ali_init_chipset': >>> drivers/ata/pata_ali.c:469:38: error: >>> implicit declaration of function 'pci_domain_nr'; >>> did you mean 'pci_iomap_wc'? >>> >>> Furthemore, some software configurations (ie Jailhouse) require a >>> PCI_DOMAINS enabled kernel to configure multiple host controllers >>> without having an explicit dependency on the ARM platform on which >>> they run. >>> >>> Make PCI_DOMAINS a visible configuration option on ARM so that software >>> configurations that need it can manually select it and move the >>> PCI_DOMAINS selection from PCI controllers configuration file to ARM >>> sub-arch config entries that currently require it, fixing the issue. >>> >>> Fixes: 51bc085d6454 ("PCI: Improve host drivers compile test coverage") >>> Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net >>> Reported-by: Guenter Roeck >>> Signed-off-by: Lorenzo Pieralisi >>> Cc: Scott Branden >>> Cc: Will Deacon >>> Cc: Bjorn Helgaas >>> Cc: Rob Herring >>> Cc: Russell King >>> Cc: Jan Kiszka >>> Cc: Guenter Roeck >>> Cc: Ley Foon Tan >>> --- >>> v1 -> v2 >>> - Removed ARCH_VIRT PCI_DOMAINS selection >>> - Added PCI_DOMAINS visible config option >>> >>> v1: https://marc.info/?l=linux-pci&m=152932092612352&w=2 >>> >>> arch/arm/Kconfig | 8 +++++++- >>> arch/arm/mach-bcm/Kconfig | 1 + >>> arch/arm/mach-socfpga/Kconfig | 1 + >>> drivers/pci/controller/Kconfig | 3 --- >>> 4 files changed, 9 insertions(+), 4 deletions(-) >>> >>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>> index 54eeb8d00bc6..843edfd000be 100644 >>> --- a/arch/arm/Kconfig >>> +++ b/arch/arm/Kconfig >>> @@ -1245,8 +1245,14 @@ config PCI >>> VESA. If you have PCI, say Y, otherwise N. >>> >>> config PCI_DOMAINS >>> - bool >>> + bool "Support for multiple PCI domains" >>> depends on PCI >>> + help >>> + Enable PCI domains kernel management. Say Y if your machine >>> + has a PCI bus hierarchy that requires more than one PCI >>> + domain (aka segment) to be correctly managed. Say N otherwise. >>> + >>> + If you don't know what to do here, say N. >>> >>> config PCI_DOMAINS_GENERIC >>> def_bool PCI_DOMAINS >>> diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig >>> index c46a728df44e..25aac6ee2ab1 100644 >>> --- a/arch/arm/mach-bcm/Kconfig >>> +++ b/arch/arm/mach-bcm/Kconfig >>> @@ -20,6 +20,7 @@ config ARCH_BCM_IPROC >>> select GPIOLIB >>> select ARM_AMBA >>> select PINCTRL >>> + select PCI_DOMAINS if PCI >>> help >>> This enables support for systems based on Broadcom IPROC architected SoCs. >>> The IPROC complex contains one or more ARM CPUs along with common >>> diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig >>> index d0f62eacf59d..4adb901dd5eb 100644 >>> --- a/arch/arm/mach-socfpga/Kconfig >>> +++ b/arch/arm/mach-socfpga/Kconfig >>> @@ -10,6 +10,7 @@ menuconfig ARCH_SOCFPGA >>> select HAVE_ARM_SCU >>> select HAVE_ARM_TWD if SMP >>> select MFD_SYSCON >>> + select PCI_DOMAINS if PCI >>> >>> if ARCH_SOCFPGA >>> config SOCFPGA_SUSPEND >>> diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig >>> index 18fa09b3ac8f..cc9fa02d32a0 100644 >>> --- a/drivers/pci/controller/Kconfig >>> +++ b/drivers/pci/controller/Kconfig >>> @@ -96,7 +96,6 @@ config PCI_HOST_GENERIC >>> depends on OF >>> select PCI_HOST_COMMON >>> select IRQ_DOMAIN >>> - select PCI_DOMAINS >>> help >>> Say Y here if you want to support a simple generic PCI host >>> controller, such as the one emulated by kvmtool. >>> @@ -138,7 +137,6 @@ config PCI_VERSATILE >>> >>> config PCIE_IPROC >>> tristate >>> - select PCI_DOMAINS >>> help >>> This enables the iProc PCIe core controller support for Broadcom's >>> iProc family of SoCs. An appropriate bus interface driver needs >>> @@ -176,7 +174,6 @@ config PCIE_IPROC_MSI >>> config PCIE_ALTERA >>> bool "Altera PCIe controller" >>> depends on ARM || NIOS2 || COMPILE_TEST >>> - select PCI_DOMAINS >>> help >>> Say Y here if you want to enable PCIe controller support on Altera >>> FPGA. >>> >> Acked-by: Jan Kiszka > Thanks a lot. Scott, Ley Foon, does it work for you ? I would like > to ask Bjorn to send it asap since the build on sparc is still broken. Change will have to be made for arm64 for ARCH_BCM_IPROC as well. > > Thanks, > Lorenzo