Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp71653pxt; Thu, 5 Aug 2021 18:20:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfzhCQCBmf4hyvIQbUURV+gWGK/Y3MpHBqlVpWViEJyS1yeyybcn7risEZcCkyw2cae9z1 X-Received: by 2002:a17:906:71c4:: with SMTP id i4mr7367693ejk.230.1628212838524; Thu, 05 Aug 2021 18:20:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628212838; cv=none; d=google.com; s=arc-20160816; b=eFG1qzByHvKfbD2+9yTW2Aky4ZxAlKqex/a9WF3VmomxRZmtpZ5T6n7AXbjG9R4Jsx PDDEh+hoM08zMaPebqI1KQylHVFmHCB6nAM2QvNxlV/a3qwZjqyPEc60oTs8HqWbQhIM PdyLlQW1P3L8pGQs4S4CIvvVkxTTTm3oDcQge8Ud4LY/tWdpPlwhXCnKBbppHN1ljss6 9LcIJHvTOWYNbznn85aWa+x+6zMYoKkO3ed1OMOG++8fXMHwdYZyeswJmeFgKSfrqtRo 8nCIZUzwmA+95M3byzFwykpnJUzo5o8zWqt+DmlsufX2cGOvasbkeWaAn8pl8VHzjrM5 +v5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=mNwZgI0lkPiSRELXBtoERdp/GDZXsgCnzbwePoFHQaM=; b=eR2slcwYc5fVim0DdUdxWRqYigAgfT64iFSSFs3kFL54dSTlPMyETNbsODM0TPSWoc dQqBCElP9Pru37kMdq4D3hGHTKCvQ3ccV71DQA8ctgyGUhpXEuUGZf5T8Fq64C/GmKRS qQNuzpUgP+g6c3r54FO7x8kn7cTOq3goe0Xfr410abYRY5T2tSCXZX3D7lts3ViIAMUN FgEY+juweFYcs/HKdzOaznxmXcuEw3Luu0V0trutgOhiSfoO9IRswc4QxsIr9ZhRoPoQ 7UTKu03f568gDl3Rg80x5BJ7Ffbts89HwoXFuw7ad/OW/OiEhUuRJPoL610NCjCnFL8H S/Hw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ka6si7252081ejc.26.2021.08.05.18.20.15; Thu, 05 Aug 2021 18:20:38 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241839AbhHEVMW (ORCPT + 99 others); Thu, 5 Aug 2021 17:12:22 -0400 Received: from foss.arm.com ([217.140.110.172]:52374 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231587AbhHEVMU (ORCPT ); Thu, 5 Aug 2021 17:12:20 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9BEE31042; Thu, 5 Aug 2021 14:12:05 -0700 (PDT) Received: from u200856.usa.arm.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0BB833F719; Thu, 5 Aug 2021 14:12:05 -0700 (PDT) From: Jeremy Linton To: linux-pci@vger.kernel.org Cc: lorenzo.pieralisi@arm.com, nsaenz@kernel.org, bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org, robh@kernel.org, kw@linux.com, f.fainelli@gmail.com, bcm-kernel-feedback-list@broadcom.com, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jeremy Linton Subject: [PATCH 0/3] CM4 ACPI PCIe quirk Date: Thu, 5 Aug 2021 16:11:57 -0500 Message-Id: <20210805211200.491275-1-jeremy.linton@arm.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The PFTF CM4 is an ACPI platform that is following the PCIe SMCCC standard because its PCIe config space isn't ECAM compliant and is split into two parts. One part for the root port registers and a moveable window which points at a given device's 4K config space. Thus it doesn't have a MCFG (and really any MCFG provided would be nonsense anyway). As linux doesn't support the PCIe SMCCC standard we key off a linux specific host bridge _DSD to add custom ECAM ops and cfgres. The cfg op selects between those two regions, as well as disallowing problematic accesses, particularly if the link is down because there isn't an attached device. Jeremy Linton (3): PCI: brcmstb: Break register definitions into separate header PCI: brcmstb: Add ACPI config space quirk PCI/ACPI: Add new quirk detection, enable bcm2711 drivers/acpi/pci_mcfg.c | 14 ++ drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-brcmstb-acpi.c | 77 +++++++++ drivers/pci/controller/pcie-brcmstb.c | 179 +------------------- drivers/pci/controller/pcie-brcmstb.h | 182 +++++++++++++++++++++ include/linux/pci-ecam.h | 1 + 6 files changed, 276 insertions(+), 178 deletions(-) create mode 100644 drivers/pci/controller/pcie-brcmstb-acpi.c create mode 100644 drivers/pci/controller/pcie-brcmstb.h -- 2.31.1