Re: [PATCH] PCI/AER: enable SERR# forwarding and role-based error reporting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux