[PATCH v6 0/7] Amazon's Annapurna Labs DT-based PCIe host controller driver
From: Jonathan Chocron
Date: Thu Sep 12 2019 - 09:01:41 EST
This series adds support for Amazon's Annapurna Labs DT-based PCIe host
controller driver.
Additionally, it adds 3 quirks (ACS, VPD and MSI-X) and 2 generic DWC patches.
Changes since v5:
- Modified commit subject of PATCH 6/7
- Removed timestamps from commit message of PATCH 4/7
- Modified ACS quirk according to Bjorn's comments
Changes since v4:
- Moved the HEADER_TYPE validations to after pp->ops->host_init() and
ep->ops->ep_init()
- Changed to dw_pcie_rd_own_conf() instead of dw_pcie_readb_dbi() for
reading the HEADER_TYPE
- Used existing quirk_blacklist_vpd() instead of quirk_al_vpd_release()
- Added a newline in ACS quirk comment
Changes since v3:
- Removed PATCH 8/8 since the usage of the PCI flags will be discussed
in the upcoming LPC
- Align commit subject with the folder convention
- Added explanation regarding ECAM "overload" mechanism
- Switched to read/write{_relaxed} APIs
- Modified a dev_err to dev_dbg
- Removed unnecessary variable
- Removed driver details from dt-binding description
- Changed to SoC specific compatibles
- Fixed typo in a commit message
- Added comment regarding MSI in the MSI-X quirk
Changes since v2:
- Added al_pcie_controller_readl/writel() wrappers
- Reorganized local vars in several functions according to reverse
tree structure
- Removed unnecessary check of ret value
- Changed return type of al_pcie_config_prepare() from int to void
- Removed check if link is up from probe() [done internally in
dw_pcie_rd/wr_conf()]
Changes since v1:
- Added comment regarding 0x0031 being used as a dev_id for non root-port devices as well
- Fixed different message/comment/print wordings
- Added panic stacktrace to commit message of MSI-x quirk patch
- Changed to pci_warn() instead of dev_warn()
- Added unit_address after node_name in dt-binding
- Updated Kconfig help description
- Used GENMASK and FIELD_PREP/GET where appropriate
- Removed leftover field from struct al_pcie and moved all ptrs to
the beginning
- Re-wrapped function definitions and invocations to use fewer lines
- Change %p to %px in dbg prints in rd/wr_conf() functions
- Removed validation that the port is configured to RC mode (as this is
added generically in PATCH 7/8)
- Removed unnecessary variable initializations
- Switched to %pR for printing resources
Ali Saidi (1):
PCI: Add ACS quirk for Amazon Annapurna Labs root ports
Jonathan Chocron (6):
PCI: Add Amazon's Annapurna Labs vendor ID
PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port
PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs
Root Port
dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding
PCI: dwc: al: Add Amazon Annapurna Labs PCIe controller driver
PCI: dwc: Add validation that PCIe core is set to correct mode
.../devicetree/bindings/pci/pcie-al.txt | 46 +++
MAINTAINERS | 3 +-
drivers/pci/controller/dwc/Kconfig | 12 +
drivers/pci/controller/dwc/pcie-al.c | 365 ++++++++++++++++++
.../pci/controller/dwc/pcie-designware-ep.c | 8 +
.../pci/controller/dwc/pcie-designware-host.c | 16 +
drivers/pci/quirks.c | 38 ++
drivers/pci/vpd.c | 6 +
include/linux/pci_ids.h | 2 +
9 files changed, 495 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/pci/pcie-al.txt
--
2.17.1