On Tue, Mar 19, 2024 at 12:07:10PM -0400, Frank Li wrote: > Involve an new and common mathod to send pme_turn_off() message. Previously > pme_turn_off() implement by platform related special register to trigge > it. > > But Yoshihiro give good idea by using iATU to send out message. Previously > Yoshihiro provide patches to raise INTx message by dummy write to outbound > iATU. > > Use similar mathod to send out pme_turn_off message. > > Previous two patches is picked from Yoshihiro' big patch serialise. > PCI: dwc: Change arguments of dw_pcie_prog_outbound_atu() > PCI: Add INTx Mechanism Messages macros > > PCI: Add PME_TURN_OFF message macro > dt-bindings: PCI: dwc: Add 'msg" register region, Add "msg" region to use > to map PCI msg. > > PCI: dwc: Add common pme_turn_off message method > Using common pme_turn_off() message if platform have not define their. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > Changes in v5: > - Default disable allocate TLP message memory windows. If driver need use > this feature, need set use_atu_msg = true before call dw_host_init(). Mani, lorenzo and bjorn Any comments about these patches? I already set this feature default as false. It is common for all dwc platform. After this merge, imx6 and layerscape many customer PME code can be removed. Frank > > - Link to v4: https://lore.kernel.org/r/20240213-pme_msg-v4-0-e2acd4d7a292@xxxxxxx > > Changes in v4: > - Remove dt-binding patch. Needn't change any dts file and binding doc. > Reserve a region at end of first IORESOURCE_MEM window by call > request_resource(). So PCIe stack will not use this reserve region to any > PCIe devices. > I tested it by reserve at begin of IORESOURCE_MEM window. PCIe stack > will skip it as expection. > > Fixed a issue, forget set iATU index when sent PME_turn_off. > > - Link to v3: https://lore.kernel.org/r/20240202-pme_msg-v3-0-ff2af57a02ad@xxxxxxx > > Changes in v3: > - fix 'MSG" > - Add pcie spec ref in head file > - using function name dw_pci_pme_turn_off() > - Using PCIE_ prefix macro > - Link to v2: https://lore.kernel.org/r/20240201-pme_msg-v2-0-6767052fe6a4@xxxxxxx > > Changes in v2: > - Add my sign off at PCI: dwc: Add outbound MSG TLPs support > - Add Bjorn review tag at Add INTx Mechanism Messages macros > - using PME_Turn_Off match PCIe spec > - ref to pcie spec v6.1 > - using section number. > > - Link to v1: https://lore.kernel.org/r/20240130-pme_msg-v1-0-d52b0add5c7c@xxxxxxx > > --- > Frank Li (2): > PCI: Add PCIE_MSG_CODE_PME_TURN_OFF message macro > PCI: dwc: Add common send PME_Turn_Off message method > > Yoshihiro Shimoda (3): > PCI: Add INTx Mechanism Messages macros > PCI: dwc: Consolidate args of dw_pcie_prog_outbound_atu() into a structure > PCI: dwc: Add outbound MSG TLPs support > > drivers/pci/controller/dwc/pcie-designware-ep.c | 21 ++-- > drivers/pci/controller/dwc/pcie-designware-host.c | 146 +++++++++++++++++++--- > drivers/pci/controller/dwc/pcie-designware.c | 54 ++++---- > drivers/pci/controller/dwc/pcie-designware.h | 22 +++- > drivers/pci/pci.h | 20 +++ > 5 files changed, 199 insertions(+), 64 deletions(-) > --- > base-commit: e08fc59eee9991afa467d406d684d46d543299a9 > change-id: 20240130-pme_msg-dd2d81ee9886 > > Best regards, > --- > Frank Li <Frank.Li@xxxxxxx> >