On Fri, Jul 28, 2023 at 11:05:56AM +0200, Lorenzo Pieralisi wrote: > On Mon, Jul 24, 2023 at 05:58:29PM -0400, Frank Li wrote: > > Introduced helper function dw_pcie_get_ltssm to retrieve SMLH_LTSS_STATE. > > Added API pme_turn_off and exit_from_l2 for managing L2/L3 state transitions. > > Commit logs should not use the past tense but the present tense. > > eg s/Introduced/Introduce > > Furthermore, read this post from Bjorn and follow it to the letter > please: > > https://lore.kernel.org/linux-pci/20171026223701.GA25649@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > > > > > Typical L2 entry workflow: > > > > 1. Transmit PME turn off signal to PCI devices and wait for PME_To_Ack. > > 2. Await link entering L2_IDLE state. > > 3. Transition Root complex to D3 state. > > > > Typical L2 exit workflow: > > > > 1. Transition Root complex to D0 state. > > 2. Issue exit from L2 command. > > 3. Reinitialize PCI host. > > 4. Wait for link to become active. > > This does not explain what the patch does and why it does it. > > Are you describing the L2 entry/exit as implemented in the code ? Yes. How about below commit message: Introduce helper function dw_pcie_get_ltssm to retrieve SMLH_LTSS_STATE. Add callback .pme_turn_off and .exit_from_l2 for platform specific PME handle. Add common dw_pcie_suspend(resume)_noirq() API to avoid duplicated code in dwc pci host controller platform driver. Typical L2 entry workflow/dw_pcie_suspend_noirq() 1. Transmit PME turn off signal to PCI devices and wait for PME_To_Ack. 2. Await link entering L2_IDLE state. 3. Transition Root complex to D3 state. Typical L2 exit workflow/dw_pcie_resume_noirq() 1. Transition Root complex to D0 state. 2. Issue exit from L2 command. 3. Reinitialize PCI host. 4. Wait for link to become active. Frank > > > > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > > --- > > Change from v4 to v5: