Commit 5cde89d8 authored by Kenji Kaneshige's avatar Kenji Kaneshige Committed by Jesse Barnes

PCI ASPM: cleanup misc in struct pcie_link_state

Cleanup for some fields in pcie_link_state.

- Add comments.
- make "downstream_has_switch" field 1-bit.
Acked-by: default avatarShaohua Li <shaohua.li@intel.com>
Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent 4d246e45
...@@ -32,13 +32,11 @@ struct aspm_latency { ...@@ -32,13 +32,11 @@ struct aspm_latency {
}; };
struct pcie_link_state { struct pcie_link_state {
struct list_head sibling; struct pci_dev *pdev; /* Upstream component of the Link */
struct pci_dev *pdev; struct pcie_link_state *parent; /* pointer to the parent Link state */
bool downstream_has_switch; struct list_head sibling; /* node in link_list */
struct list_head children; /* list of child link states */
struct pcie_link_state *parent; struct list_head link; /* node in parent's children list */
struct list_head children;
struct list_head link;
/* ASPM state */ /* ASPM state */
u32 aspm_support:2; /* Supported ASPM state */ u32 aspm_support:2; /* Supported ASPM state */
...@@ -50,6 +48,8 @@ struct pcie_link_state { ...@@ -50,6 +48,8 @@ struct pcie_link_state {
u32 clkpm_enabled:1; /* Current Clock PM state */ u32 clkpm_enabled:1; /* Current Clock PM state */
u32 clkpm_default:1; /* Default Clock PM state by BIOS */ u32 clkpm_default:1; /* Default Clock PM state by BIOS */
u32 has_switch:1; /* Downstream has switches? */
/* Latencies */ /* Latencies */
struct aspm_latency latency; /* Exit latency */ struct aspm_latency latency; /* Exit latency */
/* /*
...@@ -648,7 +648,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) ...@@ -648,7 +648,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
if (!link_state) if (!link_state)
goto unlock_out; goto unlock_out;
link_state->downstream_has_switch = pcie_aspm_downstream_has_switch(pdev); link_state->has_switch = pcie_aspm_downstream_has_switch(pdev);
INIT_LIST_HEAD(&link_state->children); INIT_LIST_HEAD(&link_state->children);
INIT_LIST_HEAD(&link_state->link); INIT_LIST_HEAD(&link_state->link);
if (pdev->bus->self) {/* this is a switch */ if (pdev->bus->self) {/* this is a switch */
...@@ -679,7 +679,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) ...@@ -679,7 +679,7 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
link_state->pdev = pdev; link_state->pdev = pdev;
list_add(&link_state->sibling, &link_list); list_add(&link_state->sibling, &link_list);
if (link_state->downstream_has_switch) { if (link_state->has_switch) {
/* /*
* If link has switch, delay the link config. The leaf link * If link has switch, delay the link config. The leaf link
* initialization will config the whole hierarchy. but we must * initialization will config the whole hierarchy. but we must
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment