Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73370c66 authored by Gavin Shan's avatar Gavin Shan Committed by Benjamin Herrenschmidt
Browse files

powerpc/eeh: I/O chip post initialization



The post initialization (struct eeh_ops::post_init) is called after
the EEH probe is done. On the other hand, the EEH core post
initialization is designed to call platform and then I/O chip backend
on PowerNV platform.

The patch adds the backend for I/O chip to notify the platform
that the specific PHB is ready to supply EEH service.

Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 8747f363
Loading
Loading
Loading
Loading
+20 −1
Original line number Original line Diff line number Diff line
@@ -34,8 +34,27 @@
#include "powernv.h"
#include "powernv.h"
#include "pci.h"
#include "pci.h"


/**
 * ioda_eeh_post_init - Chip dependent post initialization
 * @hose: PCI controller
 *
 * The function will be called after eeh PEs and devices
 * have been built. That means the EEH is ready to supply
 * service with I/O cache.
 */
static int ioda_eeh_post_init(struct pci_controller *hose)
{
	struct pnv_phb *phb = hose->private_data;

	/* FIXME: Enable it for PHB3 later */
	if (phb->type == PNV_PHB_IODA1)
		phb->eeh_enabled = 1;

	return 0;
}

struct pnv_eeh_ops ioda_eeh_ops = {
struct pnv_eeh_ops ioda_eeh_ops = {
	.post_init		= NULL,
	.post_init		= ioda_eeh_post_init,
	.set_option		= NULL,
	.set_option		= NULL,
	.get_state		= NULL,
	.get_state		= NULL,
	.reset			= NULL,
	.reset			= NULL,