mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 00:00:00 +00:00
Merge branch 'pci/misc'
- Move _HPX type array from stack to static data (Colin Ian King) - Avoid an ASMedia XHCI USB PME# defect; apparently it doesn't assert PME# when USB3.0 devices are hotplugged in D0 (Kai-Heng Feng) - Revert sysfs "rescan" file renames that broke an application (Kelsey Skunberg) * pci/misc: PCI: sysfs: Revert "rescan" file renames PCI: Avoid ASMedia XHCI USB PME# from D0 defect PCI/ACPI: Move pcie_to_hpx3_type[] from stack to static data
This commit is contained in:
commit
10e8141baa
@ -439,7 +439,7 @@ enum hpx_type3_dev_type {
|
|||||||
static u16 hpx3_device_type(struct pci_dev *dev)
|
static u16 hpx3_device_type(struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
u16 pcie_type = pci_pcie_type(dev);
|
u16 pcie_type = pci_pcie_type(dev);
|
||||||
const int pcie_to_hpx3_type[] = {
|
static const int pcie_to_hpx3_type[] = {
|
||||||
[PCI_EXP_TYPE_ENDPOINT] = HPX_TYPE_ENDPOINT,
|
[PCI_EXP_TYPE_ENDPOINT] = HPX_TYPE_ENDPOINT,
|
||||||
[PCI_EXP_TYPE_LEG_END] = HPX_TYPE_LEG_END,
|
[PCI_EXP_TYPE_LEG_END] = HPX_TYPE_LEG_END,
|
||||||
[PCI_EXP_TYPE_RC_END] = HPX_TYPE_RC_END,
|
[PCI_EXP_TYPE_RC_END] = HPX_TYPE_RC_END,
|
||||||
|
@ -447,7 +447,8 @@ static ssize_t dev_rescan_store(struct device *dev,
|
|||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR_WO(dev_rescan);
|
static struct device_attribute dev_attr_dev_rescan = __ATTR(rescan, 0200, NULL,
|
||||||
|
dev_rescan_store);
|
||||||
|
|
||||||
static ssize_t remove_store(struct device *dev, struct device_attribute *attr,
|
static ssize_t remove_store(struct device *dev, struct device_attribute *attr,
|
||||||
const char *buf, size_t count)
|
const char *buf, size_t count)
|
||||||
@ -484,7 +485,8 @@ static ssize_t bus_rescan_store(struct device *dev,
|
|||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR_WO(bus_rescan);
|
static struct device_attribute dev_attr_bus_rescan = __ATTR(rescan, 0200, NULL,
|
||||||
|
bus_rescan_store);
|
||||||
|
|
||||||
#if defined(CONFIG_PM) && defined(CONFIG_ACPI)
|
#if defined(CONFIG_PM) && defined(CONFIG_ACPI)
|
||||||
static ssize_t d3cold_allowed_store(struct device *dev,
|
static ssize_t d3cold_allowed_store(struct device *dev,
|
||||||
|
@ -5527,3 +5527,14 @@ out_disable:
|
|||||||
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
|
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
|
||||||
PCI_CLASS_DISPLAY_VGA, 8,
|
PCI_CLASS_DISPLAY_VGA, 8,
|
||||||
quirk_reset_lenovo_thinkpad_p50_nvgpu);
|
quirk_reset_lenovo_thinkpad_p50_nvgpu);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Device [1b21:2142]
|
||||||
|
* When in D0, PME# doesn't get asserted when plugging USB 3.0 device.
|
||||||
|
*/
|
||||||
|
static void pci_fixup_no_d0_pme(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
pci_info(dev, "PME# does not work under D0, disabling it\n");
|
||||||
|
dev->pme_support &= ~(PCI_PM_CAP_PME_D0 >> PCI_PM_CAP_PME_SHIFT);
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x2142, pci_fixup_no_d0_pme);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user