[Skiboot] [PATCH v11 09/23] core/pci: Fix wrong reserved PE# in enumeration
Gavin Shan
gwshan at linux.vnet.ibm.com
Wed Jun 8 20:32:34 AEST 2016
On Wed, Jun 08, 2016 at 02:58:05PM +1000, Stewart Smith wrote:
>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.
>
Thanks for review, Stewart. Yeah, I was expecting the interface
is to be extended to return more PHB specific info in future.
For now, the reserved PE number is only info I need from this
interface. So it's fair enough to have below interface for now,
which will be reflected in next revision:
int64_t (*get_info)(void);
Thanks,
Gavin
>--
>Stewart Smith
>OPAL Architect, IBM.
More information about the Skiboot
mailing list