On Tue, Dec 01, 2015 at 11:43:21PM -0500, Sinan Kaya wrote: > On 12/1/2015 6:07 PM, Bjorn Helgaas wrote: > > On Tue, Dec 01, 2015 at 03:08:48PM -0500, Sinan Kaya wrote: > >> For instance, what happens after hotplug insertion. Will anybody set > >> these bits? We need some kernel support for some PCIe features to > >> reconfigure the hardware. > > > > ACPI systems that support hotplug may supply _HPP or _HPX methods. If > > _HPP or _HPX indicates that SERR# forwarding should be enabled, Linux > > does enable it for hot-added devices (and I think we now do it for all > > devices at boot, too). That would explain how this could work on ACPI > > systems today. > > Are we sure about this? The name of the field in HPP is "Enable SERR". > Will this also enable SERR# forwarding? I *think* so. In program_hpp_type0(), if hpp->enable_serr is set, we turn on PCI_COMMAND_SERR. For bridges, we also turn on PCI_BRIDGE_CTL_SERR, which enables SERR# forwarding. Of course, I don't have a machine I'm testing this on; I'm just reading the code. > I do have _HPP in ACPI with SERR enabled but I do not have HPX. I rely > on the hardware defaults for which errors to be enabled and masked etc. > So, I don't need HPX. Huh. If you have _HPP with "Enable SERR" set, I wonder why the pci_configure_device() path isn't turning on PCI_COMMAND_SERR and PCI_BRIDGE_CTL_SERR for you. Can you instrument that path and see what's going on? I reworked that recently, and my *intent* was that we apply _HPP & _HPX settings to every device we enumerate, not just hot-added ones. If that isn't happening, I'd like to know about it. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html