lkml.org 
[lkml]   [2015]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] PCI/AER: enable SERR# forwarding and role-based error reporting
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


\
 
 \ /
  Last update: 2015-12-03 19:01    [W:0.055 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site