Commit f5bc6b70 authored by Gavin Shan's avatar Gavin Shan Committed by Benjamin Herrenschmidt

powerpc/powernv: Move PNV_EEH_STATE_ENABLED around

The flag PNV_EEH_STATE_ENABLED is put into pnv_phb::eeh_state,
which is protected by CONFIG_EEH. We needn't that. Instead, we
can have pnv_phb::flags and maintain all flags there, which is
the purpose of the patch. The patch also renames PNV_EEH_STATE_ENABLED
to PNV_PHB_FLAG_EEH.
Signed-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 467f79a9
...@@ -154,7 +154,7 @@ static int ioda_eeh_post_init(struct pci_controller *hose) ...@@ -154,7 +154,7 @@ static int ioda_eeh_post_init(struct pci_controller *hose)
} }
#endif #endif
phb->eeh_state |= PNV_EEH_STATE_ENABLED; phb->flags |= PNV_PHB_FLAG_EEH;
return 0; return 0;
} }
......
...@@ -426,7 +426,7 @@ int pnv_pci_cfg_read(struct device_node *dn, ...@@ -426,7 +426,7 @@ int pnv_pci_cfg_read(struct device_node *dn,
if (phb_pe && (phb_pe->state & EEH_PE_ISOLATED)) if (phb_pe && (phb_pe->state & EEH_PE_ISOLATED))
return PCIBIOS_SUCCESSFUL; return PCIBIOS_SUCCESSFUL;
if (phb->eeh_state & PNV_EEH_STATE_ENABLED) { if (phb->flags & PNV_PHB_FLAG_EEH) {
if (*val == EEH_IO_ERROR_VALUE(size) && if (*val == EEH_IO_ERROR_VALUE(size) &&
eeh_dev_check_failure(of_node_to_eeh_dev(dn))) eeh_dev_check_failure(of_node_to_eeh_dev(dn)))
return PCIBIOS_DEVICE_NOT_FOUND; return PCIBIOS_DEVICE_NOT_FOUND;
...@@ -464,12 +464,8 @@ int pnv_pci_cfg_write(struct device_node *dn, ...@@ -464,12 +464,8 @@ int pnv_pci_cfg_write(struct device_node *dn,
} }
/* Check if the PHB got frozen due to an error (no response) */ /* Check if the PHB got frozen due to an error (no response) */
#ifdef CONFIG_EEH if (!(phb->flags & PNV_PHB_FLAG_EEH))
if (!(phb->eeh_state & PNV_EEH_STATE_ENABLED))
pnv_pci_config_check_eeh(phb, dn); pnv_pci_config_check_eeh(phb, dn);
#else
pnv_pci_config_check_eeh(phb, dn);
#endif
return PCIBIOS_SUCCESSFUL; return PCIBIOS_SUCCESSFUL;
} }
......
...@@ -81,24 +81,23 @@ struct pnv_eeh_ops { ...@@ -81,24 +81,23 @@ struct pnv_eeh_ops {
int (*configure_bridge)(struct eeh_pe *pe); int (*configure_bridge)(struct eeh_pe *pe);
int (*next_error)(struct eeh_pe **pe); int (*next_error)(struct eeh_pe **pe);
}; };
#define PNV_EEH_STATE_ENABLED (1 << 0) /* EEH enabled */
#endif /* CONFIG_EEH */ #endif /* CONFIG_EEH */
#define PNV_PHB_FLAG_EEH (1 << 0)
struct pnv_phb { struct pnv_phb {
struct pci_controller *hose; struct pci_controller *hose;
enum pnv_phb_type type; enum pnv_phb_type type;
enum pnv_phb_model model; enum pnv_phb_model model;
u64 hub_id; u64 hub_id;
u64 opal_id; u64 opal_id;
int flags;
void __iomem *regs; void __iomem *regs;
int initialized; int initialized;
spinlock_t lock; spinlock_t lock;
#ifdef CONFIG_EEH #ifdef CONFIG_EEH
struct pnv_eeh_ops *eeh_ops; struct pnv_eeh_ops *eeh_ops;
int eeh_state;
#endif #endif
#ifdef CONFIG_DEBUG_FS #ifdef CONFIG_DEBUG_FS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment