From patchwork Thu Nov 4 10:57:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xuesong Chen X-Patchwork-Id: 12602841 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E39D5C433F5 for ; Thu, 4 Nov 2021 10:59:28 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B3AAF61108 for ; Thu, 4 Nov 2021 10:59:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B3AAF61108 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=cwpg2UCtxHPwWNTYdjvBczvSxu47/uQd6h1TJxiKtBc=; b=DYLs+krEUPNlEl 3qWADF6UDkD061uvuyDfzNe65VHZzOzML3cyZ6Zj/g/GD3j6PCXmt/8TkQk7+lUiunExN51iDHWTw KD/ytqToddq7MFEhgl0+HLCuaa7ntZOk38spfroTkkJS329EhoD4IiCj39YIq5DWZCsgzo5nhTmaD +aA3gEaLlgKKbAOP1R60ysb2+qWn/dLgj8rJcKzRi22NyiwZ3NhDagqh3euUmCyrfqHm8oBxQn7AH jRBQl8bpnJXT4Te26Yx1lksqvU8aQx3glp+rXb/qDDzWYlM2Io0T43kOlGyG6RvW24byyhuyNaEsG N3kJf4zXEGzXMw+DUsKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1miaR8-008ccG-TB; Thu, 04 Nov 2021 10:57:39 +0000 Received: from out30-54.freemail.mail.aliyun.com ([115.124.30.54]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1miaR4-008cbC-Js for linux-arm-kernel@lists.infradead.org; Thu, 04 Nov 2021 10:57:36 +0000 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R111e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e04423; MF=xuesong.chen@linux.alibaba.com; NM=1; PH=DS; RN=17; SR=0; TI=SMTPD_---0Uv1nevs_1636023446; Received: from localhost.localdomain(mailfrom:xuesong.chen@linux.alibaba.com fp:SMTPD_---0Uv1nevs_1636023446) by smtp.aliyun-inc.com(127.0.0.1); Thu, 04 Nov 2021 18:57:27 +0800 From: Xuesong Chen To: helgaas@kernel.org Cc: catalin.marinas@arm.com, lorenzo.pieralisi@arm.com, james.morse@arm.com, will@kernel.org, rafael@kernel.org, tony.luck@intel.com, bp@alien8.de, mingo@kernel.org, bhelgaas@google.com, ying.huang@intel.com, linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, xuesong.chen@linux.alibaba.com Subject: [PATCH v5 0/4] PCI MCFG consolidation and APEI resource filtering Date: Thu, 4 Nov 2021 18:57:15 +0800 Message-Id: <20211104105715.47396-1-xuesong.chen@linux.alibaba.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211104_035734_858370_68F84203 X-CRM114-Status: GOOD ( 11.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The issue of commit d91525eb8ee6 ("ACPI, EINJ: Enhance error injection tolerance level") on x86 is also happened on our own ARM64 platform. We sent a patch[1] trying to fix this issue in an arch-specific way as x86 does at first, but according to the suggestion from Lorenzo Pieralisi and Catalin Marinas, we can consolidate the PCI MCFG part then fix it in a more common way, that's why this patch series comes. [1] https://marc.info/?l=linux-arm-kernel&m=163108478627166&w=2 --- Change from v4 to v5: - Fix the warning: no previous prototype for 'remove_quirk_mcfg_res' warning reported by the kernel test robot. Change from v3 to v4: - Add a new patch (patch #3) to address the quirk ECAM access issue. Because the normal ECAM config space can be accessed in a lockless way, so we don't need the mutual exclusion with the EINJ action. But those quirks maybe break this rule and corrupt the configuration access, reserve its MCFG address regions in this case to avoid that happens. - Add another patch (patch #4) to log the PCI MCFG entry parse message per the suggestion from Bjorn Helgaas. The output on ARM64 as: ACPI: MCFG entry for domain 0000 [bus 00-0f] at [mem 0x50000000-0x50ffffff] (base 0x50000000) - Commit message updated with more details of patch #2 Change from v2 to v3: - Address the comments of Lorenzo Pieralisi about the CONFIG_PCI dependence issue in APEI module (patch #2) Change from v1 to v2: - Fix the "undefined reference to `pci_mmcfg_list'" build error in case of PCI_CONFIG=n, reported by the kernel test robot Xuesong Chen (4): PCI: MCFG: Consolidate the separate PCI MCFG table entry list ACPI: APEI: Filter the PCI MCFG address with an arch-agnostic method ACPI: APEI: Reserve the MCFG address for quirk ECAM implementation PCI: MCFG: Add the MCFG entry parse log message arch/x86/include/asm/pci_x86.h | 17 +---------- arch/x86/pci/mmconfig-shared.c | 30 ------------------- drivers/acpi/apei/apei-base.c | 68 ++++++++++++++++++++++++++++++++---------- drivers/acpi/pci_mcfg.c | 46 +++++++++++++++------------- drivers/pci/pci.c | 2 ++ drivers/pci/quirks.c | 2 ++ include/linux/pci.h | 18 +++++++++++ 7 files changed, 101 insertions(+), 82 deletions(-)