Merge branch 'pci/aspm' into next
* pci/aspm: PCI/ASPM: Don't retrain link if ASPM not possible PCI/ASPM: Use permission-specific DEVICE_ATTR variants
This commit is contained in:
commit
a7d5149111
@ -351,14 +351,28 @@ static void pcie_aspm_cap_init(struct pcie_link_state *link, int blacklist)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Configure common clock before checking latencies */
|
|
||||||
pcie_aspm_configure_common_clock(link);
|
|
||||||
|
|
||||||
/* Get upstream/downstream components' register state */
|
/* Get upstream/downstream components' register state */
|
||||||
pcie_get_aspm_reg(parent, &upreg);
|
pcie_get_aspm_reg(parent, &upreg);
|
||||||
child = list_entry(linkbus->devices.next, struct pci_dev, bus_list);
|
child = list_entry(linkbus->devices.next, struct pci_dev, bus_list);
|
||||||
pcie_get_aspm_reg(child, &dwreg);
|
pcie_get_aspm_reg(child, &dwreg);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If ASPM not supported, don't mess with the clocks and link,
|
||||||
|
* bail out now.
|
||||||
|
*/
|
||||||
|
if (!(upreg.support & dwreg.support))
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Configure common clock before checking latencies */
|
||||||
|
pcie_aspm_configure_common_clock(link);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-read upstream/downstream components' register state
|
||||||
|
* after clock configuration
|
||||||
|
*/
|
||||||
|
pcie_get_aspm_reg(parent, &upreg);
|
||||||
|
pcie_get_aspm_reg(child, &dwreg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Setup L0s state
|
* Setup L0s state
|
||||||
*
|
*
|
||||||
@ -886,8 +900,8 @@ static ssize_t clk_ctl_store(struct device *dev,
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(link_state, 0644, link_state_show, link_state_store);
|
static DEVICE_ATTR_RW(link_state);
|
||||||
static DEVICE_ATTR(clk_ctl, 0644, clk_ctl_show, clk_ctl_store);
|
static DEVICE_ATTR_RW(clk_ctl);
|
||||||
|
|
||||||
static char power_group[] = "power";
|
static char power_group[] = "power";
|
||||||
void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev)
|
void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user