From patchwork Thu Aug 26 07:15:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Linton X-Patchwork-Id: 502847 Delivered-To: patch@linaro.org Received: by 2002:a02:6f15:0:0:0:0:0 with SMTP id x21csp1330563jab; Thu, 26 Aug 2021 00:16:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzINkVKHVwk36ayXeoRzL04VwzCtRpHjGUCWTQ/ware/Wiv5LF3d0Rjt1y3+0cmunukKObt X-Received: by 2002:a17:906:1913:: with SMTP id a19mr2807950eje.390.1629962161340; Thu, 26 Aug 2021 00:16:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629962161; cv=none; d=google.com; s=arc-20160816; b=aZ1vfXvzEFmkfN9ubpNZCfl+M8qQAcuLtjVT0ZMyXcqXJfELTTKZDwJvlE5rhPOcNY ODLvlyQl4wDyq74UtpGNT1maP45+Om0n93NWO3y91fnNbcmQxTcKGlg038+KyH/AA9XO dkfv2VGGPYVzxClcWHKpK2aueN1QNNdGk9y2MCdqgKCRhMruOWI4sF4NOoouXHGDWzZ/ S8mIV7g+1/LqiXmmPcPl0RK3rjdRUNeybuz4E8dzbJd802Ij5NqJg51Fd0v+fp0/zfFJ mnSec/c7FLfp6jegrIugGFyq0hwed6d3pKSc0NDyHcmCs3cvyGEjut2WFRh2OWdRFO/j zyww== 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=hEAiCtNLQF8ADEmOV+3yW+VPEH6LD5KOxknAXEf5q64=; b=UQgEnRTtYg/FbXMvrNOeYgwyp01EAD66gdaKqVc538YqQI5lZ3u4u1Z6BAt8TRWtLB +waBzt+aqEAWZ7ci2nz5CPjlKvskEZZdjiHCvMkjwA1H8OY4z9REUyZvza0/zQqeEOyj NYd6pCjzGx0++vHEUECMjWJDhkkFiiehRbtZHCJdbaKlrQBDSv3ri5kqJxNoN7r92XOr pYsYG81nf5T7diqPVRPl+XUnoP7irG2kqc23+q0LMHeOXBxwevCU/9d6cINV2UiJ8aQq NV7RDbZAAUgphMxoXnFchYuHXjPmXU5sh18sVgVEIcQ35dXmuAgaNQvlXN0oDnfKxNMH cgdw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-acpi-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-acpi-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 g20si2615216ejm.455.2021.08.26.00.16.01; Thu, 26 Aug 2021 00:16:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-acpi-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-acpi-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-acpi-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 S239566AbhHZHQq (ORCPT + 3 others); Thu, 26 Aug 2021 03:16:46 -0400 Received: from foss.arm.com ([217.140.110.172]:40238 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238379AbhHZHQq (ORCPT ); Thu, 26 Aug 2021 03:16:46 -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 39BC8D6E; Thu, 26 Aug 2021 00:15:59 -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 B9B3F3F5A1; Thu, 26 Aug 2021 00:15:58 -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 v3 0/4] CM4 ACPI PCIe quirk Date: Thu, 26 Aug 2021 02:15:53 -0500 Message-Id: <20210826071557.29239-1-jeremy.linton@arm.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org The PFTF CM4 is an ACPI platform that is following the Arm PCIe SMC (DEN0115) standard because its PCIe config space isn't ECAM compliant since it is split into two parts. One part describes the root port registers, and another contains a moveable window pointing at a given device's 4K config space. Thus it doesn't have an MCFG table. As Linux doesn't support the PCI/SMC, a host bridge specific _DSD is added and associated with custom ECAM ops and cfgres. The custom cfg op selects between those two regions, as well as disallowing problematic accesses. V2->V3: Rebase to -next to pickup new MAINTAINERS entries that needed updating. Enforce _DSD property is exactly the same len as the MCFG OEM field it is overriding. More commit/comment tweaks. V1->V2: Only move register definitions to new .h file, add include guards. Change quirk namespace identifier. Update Maintainers file. A number of whitespace, grammar, etc fixes. Jeremy Linton (4): PCI: brcmstb: Break register definitions into separate header PCI: brcmstb: Add ACPI config space quirk PCI/ACPI: Add Broadcom bcm2711 MCFG quirk MAINTAINERS: Widen brcmstb PCIe file scope MAINTAINERS | 6 +- drivers/acpi/pci_mcfg.c | 17 +++ drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-brcmstb-acpi.c | 79 +++++++++++ drivers/pci/controller/pcie-brcmstb.c | 149 +------------------- drivers/pci/controller/pcie-brcmstb.h | 155 +++++++++++++++++++++ include/linux/pci-ecam.h | 1 + 7 files changed, 257 insertions(+), 151 deletions(-) create mode 100644 drivers/pci/controller/pcie-brcmstb-acpi.c create mode 100644 drivers/pci/controller/pcie-brcmstb.h -- 2.31.1