[Skiboot] [PATCH v11 09/23] core/pci: Fix wrong reserved PE# in enumeration

Stewart Smith stewart at linux.vnet.ibm.com
Wed Jun 8 14:58:05 AEST 2016


Gavin Shan <gwshan at linux.vnet.ibm.com> writes:
> When scanning to non-existing PCI device, EEH (frozen) error is
> usually happening. We clear the unexpected frozen PE state after
> it. The reserved PE number is assumed to be 0 wrongly. So the
> frozen state on the reserved PE number isn't cleared properly.
>
> This introduces struct phb_ops::get_info() to retrieve the reserved
> PE number from platforms. Then the EEH frozen state checking and
> clearing are applied to the reserved PE number.
>
> Signed-off-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
> ---
>  core/pci.c     | 15 ++++++++++++---
>  hw/npu.c       |  1 +
>  hw/p7ioc-phb.c | 15 +++++++++++++++
>  hw/phb3.c      | 16 ++++++++++++++++
>  include/pci.h  |  7 +++++++
>  5 files changed, 51 insertions(+), 3 deletions(-)

I'd prefer just a int64_t (or int46_t*) to the get_info() function
unless there's a real set of other things we need to have a get_info
method for. We can always add get_info() once we get a few - but in
general, it looks a bit too ioctl() like for me.

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Skiboot mailing list