OSDN Git Service

powerpc/powernv: Rework EEH initialization on powernv
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 7 Sep 2017 06:35:44 +0000 (16:35 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 26 Sep 2017 01:19:07 +0000 (11:19 +1000)
commitb9fde58db7e5738cacb740b0ec547933fe314fbe
tree5da22fe7afb00d14458071246f85681b986e03a2
parente19b205be43d11bff638cad4487008c48d21c103
powerpc/powernv: Rework EEH initialization on powernv

Remove the post_init callback which is only used
by powernv, we can just call it explicitly from
the powernv code.

This partially kills the ability to "disable" eeh at
runtime via debugfs as this was calling that same
callback again, but this is both unused and broken
in several ways. If we want to revive it, we need
to create a dedicated enable/disable callback on the
backend that does the right thing.

Let the bulk of eeh initialize normally at
core_initcall() like it does on pseries by removing
the hack in eeh_init() that delays it.

Instead we make sure our eeh->probe cleanly bails
out of the PEs haven't been created yet and we force
a re-probe where we used to call eeh_init() again.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Russell Currey <ruscur@russell.cc>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/eeh.h
arch/powerpc/kernel/eeh.c
arch/powerpc/platforms/powernv/eeh-powernv.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/powernv/pci.h