Hello all, This series adds some extra checks to ensure that it is not possible to program the iATU with an address which we did not intend to use. If these checks were in place when testing some of the earlier revisions of Frank's doorbell patches (which did not handle fixed BARs properly), we would gotten an error, rather than silently using an address which we did not intend to use. Having these checks in place will hopefully avoid similar debugging in the future. Kind regards, Niklas Changes since v3: -Added patch 1/5, which fixes iATU programming on DWC PCIe EP controllers. -Reordered patches to have a more logical ordering. Niklas Cassel (5): PCI: dwc: ep: iATU registers must be written after the BAR_MASK PCI: dwc: ep: Add 'address' alignment to 'size' check in dw_pcie_prog_ep_inbound_atu() PCI: artpec6: Implement dw_pcie_ep operation get_features PCI: endpoint: Add size check for fixed size BARs in pci_epc_set_bar() PCI: endpoint: Verify that requested BAR size is a power of two drivers/pci/controller/dwc/pcie-artpec6.c | 13 +++++ .../pci/controller/dwc/pcie-designware-ep.c | 52 ++++++++++++++----- drivers/pci/controller/dwc/pcie-designware.c | 5 +- drivers/pci/controller/dwc/pcie-designware.h | 2 +- drivers/pci/endpoint/pci-epc-core.c | 14 ++++- 5 files changed, 67 insertions(+), 19 deletions(-) -- 2.47.0