Message ID | 4AB0A207.3010100@jp.fujitsu.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On Wed, 16 Sep 2009 17:29:59 +0900 Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> wrote: > The definition of the ASPM support field in the Link Capabilities > Register had been changed by the "ASPM optionality ECN" as follows: > > <Before> > 00b Reserved > 01b L0s Supported > 10b Reserved > 11b L0s and L1 Supported > > <After> > 00b No ASPM Support > 01b L0s Supported > 10b L1 Supported > 11b L0s and L1 Supported > > Current linux ASPM driver doesn't enable ASPM if the support field is > 00b or 10b. So there is no impact about 00b. But current linux ASPM > driver doesn't enable L1 if the support field is 10b. With this patch, > 10b (L1 support) is handled properly. > > Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> > > --- > drivers/pci/pcie/aspm.c | 3 --- > 1 file changed, 3 deletions(-) > > Index: 20090914/drivers/pci/pcie/aspm.c > =================================================================== > --- 20090914.orig/drivers/pci/pcie/aspm.c > +++ 20090914/drivers/pci/pcie/aspm.c > @@ -303,9 +303,6 @@ static void pcie_get_aspm_reg(struct pci > pos = pci_find_capability(pdev, PCI_CAP_ID_EXP); > pci_read_config_dword(pdev, pos + PCI_EXP_LNKCAP, ®32); > info->support = (reg32 & PCI_EXP_LNKCAP_ASPMS) >> 10; > - /* 00b and 10b are defined as "Reserved". */ > - if (info->support == PCIE_LINK_STATE_L1) > - info->support = 0; > info->latency_encoding_l0s = (reg32 & PCI_EXP_LNKCAP_L0SEL) > >> 12; info->latency_encoding_l1 = (reg32 & PCI_EXP_LNKCAP_L1EL) >> > >> 15; > pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, ®16); Applied to my linux-next tree, thanks.
Index: 20090914/drivers/pci/pcie/aspm.c =================================================================== --- 20090914.orig/drivers/pci/pcie/aspm.c +++ 20090914/drivers/pci/pcie/aspm.c @@ -303,9 +303,6 @@ static void pcie_get_aspm_reg(struct pci pos = pci_find_capability(pdev, PCI_CAP_ID_EXP); pci_read_config_dword(pdev, pos + PCI_EXP_LNKCAP, ®32); info->support = (reg32 & PCI_EXP_LNKCAP_ASPMS) >> 10; - /* 00b and 10b are defined as "Reserved". */ - if (info->support == PCIE_LINK_STATE_L1) - info->support = 0; info->latency_encoding_l0s = (reg32 & PCI_EXP_LNKCAP_L0SEL) >> 12; info->latency_encoding_l1 = (reg32 & PCI_EXP_LNKCAP_L1EL) >> 15; pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, ®16);
The definition of the ASPM support field in the Link Capabilities Register had been changed by the "ASPM optionality ECN" as follows: <Before> 00b Reserved 01b L0s Supported 10b Reserved 11b L0s and L1 Supported <After> 00b No ASPM Support 01b L0s Supported 10b L1 Supported 11b L0s and L1 Supported Current linux ASPM driver doesn't enable ASPM if the support field is 00b or 10b. So there is no impact about 00b. But current linux ASPM driver doesn't enable L1 if the support field is 10b. With this patch, 10b (L1 support) is handled properly. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> --- drivers/pci/pcie/aspm.c | 3 --- 1 file changed, 3 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html