* [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe
@ 2024-04-24 10:58 Jian-Hong Pan
2024-04-25 21:01 ` Nirmal Patel
2024-05-03 22:17 ` Bjorn Helgaas
0 siblings, 2 replies; 3+ messages in thread
From: Jian-Hong Pan @ 2024-04-24 10:58 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: Johan Hovold, David Box, Ilpo Järvinen,
Kuppuswamy Sathyanarayanan, Mika Westerberg, Damien Le Moal,
Nirmal Patel, Jonathan Derrick, linux-pci, linux-kernel,
Jian-Hong Pan
Re-send for the version information.
Notice the VMD remapped PCIe Root Port and NVMe have PCI PM L1 substates
capability, but they are disabled originally.
Here is a failed example on ASUS B1400CEAE with enabled VMD:
10000:e0:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01) (prog-if 00 [Normal decode])
...
Capabilities: [200 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=45us PortTPowerOnTime=50us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1-
T_CommonMode=45us LTR1.2_Threshold=101376ns
L1SubCtl2: T_PwrOn=50us
10000:e1:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN550 NVMe SSD (rev 01) (prog-if 02 [NVM Express])
...
Capabilities: [900 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1- L1_PM_Substates+
PortCommonModeRestoreTime=32us PortTPowerOnTime=10us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=0ns
L1SubCtl2: T_PwrOn=10us
According to "PCIe r6.0, sec 5.5.4", to config the link between the PCIe
Root Port and the child device correctly:
* Ensure both devices are in D0 before enabling PCI-PM L1 PM Substates.
* Ensure L1.2 parameters: Common_Mode_Restore_Times, T_POWER_ON and
LTR_L1.2_THRESHOLD are programmed properly on both devices before enable
bits for L1.2.
Prepare this series to fix that.
Jian-Hong Pan (4):
PCI: vmd: Set PCI devices to D0 before enable PCI PM's L1 substates
PCI/ASPM: Add notes about enabling PCI-PM L1SS to pci_enable_link_state(_locked)
PCI/ASPM: Introduce aspm_get_l1ss_cap()
PCI/ASPM: Fix L1.2 parameters when enable link state
drivers/pci/controller/vmd.c | 13 ++++++++----
drivers/pci/pcie/aspm.c | 41 ++++++++++++++++++++++++++++--------
2 files changed, 41 insertions(+), 13 deletions(-)
--
2.44.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe
2024-04-24 10:58 [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe Jian-Hong Pan
@ 2024-04-25 21:01 ` Nirmal Patel
2024-05-03 22:17 ` Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: Nirmal Patel @ 2024-04-25 21:01 UTC (permalink / raw)
To: Jian-Hong Pan
Cc: Bjorn Helgaas, Johan Hovold, David Box, Ilpo Järvinen,
Kuppuswamy Sathyanarayanan, Mika Westerberg, Damien Le Moal,
Jonathan Derrick, linux-pci, linux-kernel, paul.m.stillwell.jr
On Wed, 24 Apr 2024 18:58:15 +0800
Jian-Hong Pan <jhp@endlessos.org> wrote:
> Re-send for the version information.
>
> Notice the VMD remapped PCIe Root Port and NVMe have PCI PM L1
> substates capability, but they are disabled originally.
>
> Here is a failed example on ASUS B1400CEAE with enabled VMD:
>
> 10000:e0:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor
> PCIe Controller (rev 01) (prog-if 00 [Normal decode]) ...
> Capabilities: [200 v1] L1 PM Substates
> L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
> L1_PM_Substates+ PortCommonModeRestoreTime=45us PortTPowerOnTime=50us
> L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1-
> T_CommonMode=45us LTR1.2_Threshold=101376ns
> L1SubCtl2: T_PwrOn=50us
>
> 10000:e1:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue
> SN550 NVMe SSD (rev 01) (prog-if 02 [NVM Express]) ...
> Capabilities: [900 v1] L1 PM Substates
> L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1-
> L1_PM_Substates+ PortCommonModeRestoreTime=32us PortTPowerOnTime=10us
> L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1-
> T_CommonMode=0us LTR1.2_Threshold=0ns
> L1SubCtl2: T_PwrOn=10us
>
> According to "PCIe r6.0, sec 5.5.4", to config the link between the
> PCIe Root Port and the child device correctly:
> * Ensure both devices are in D0 before enabling PCI-PM L1 PM
> Substates.
> * Ensure L1.2 parameters: Common_Mode_Restore_Times, T_POWER_ON and
> LTR_L1.2_THRESHOLD are programmed properly on both devices before
> enable bits for L1.2.
>
> Prepare this series to fix that.
>
> Jian-Hong Pan (4):
> PCI: vmd: Set PCI devices to D0 before enable PCI PM's L1 substates
> PCI/ASPM: Add notes about enabling PCI-PM L1SS to
> pci_enable_link_state(_locked) PCI/ASPM: Introduce aspm_get_l1ss_cap()
> PCI/ASPM: Fix L1.2 parameters when enable link state
>
> drivers/pci/controller/vmd.c | 13 ++++++++----
> drivers/pci/pcie/aspm.c | 41
> ++++++++++++++++++++++++++++-------- 2 files changed, 41
> insertions(+), 13 deletions(-)
>
Hi,
We are running some tests to make sure we dont have issue with other
platforms and trying to avoid another hotplug scenario. Please wait for
our Ack before merging this patch. Thanks.
-nirmal
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe
2024-04-24 10:58 [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe Jian-Hong Pan
2024-04-25 21:01 ` Nirmal Patel
@ 2024-05-03 22:17 ` Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2024-05-03 22:17 UTC (permalink / raw)
To: Jian-Hong Pan
Cc: Johan Hovold, David Box, Ilpo Järvinen,
Kuppuswamy Sathyanarayanan, Mika Westerberg, Damien Le Moal,
Nirmal Patel, Jonathan Derrick, linux-pci, linux-kernel
On Wed, Apr 24, 2024 at 06:58:15PM +0800, Jian-Hong Pan wrote:
> Re-send for the version information.
>
> Notice the VMD remapped PCIe Root Port and NVMe have PCI PM L1 substates
> capability, but they are disabled originally.
When you post the next version, can you post the patches as responses
to the cover letter? Patchwork and b4 don't know how to deal with
a series posted as disconnected messages.
Bjorn
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-05-03 22:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-24 10:58 [PATCH v5 0/4] PCI: vmd: Enable PCI PM's L1 substates of remapped PCIe Root Port and NVMe Jian-Hong Pan
2024-04-25 21:01 ` Nirmal Patel
2024-05-03 22:17 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).