eeh.h (6ea24cf79e055f0a62a64baa8587e2254a493c7b) eeh.h (8cc7581cdb84a232468c41bc417183a423dfbb07)
1/*
2 * Copyright (C) 2001 Dave Engebretsen & Todd Inglett IBM Corporation.
3 * Copyright 2001-2012 IBM Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 43 unchanged lines hidden (view full) ---

52 * is specified as 1.5 seconds and we have 1.8 seconds.
53 */
54#define EEH_PE_RST_HOLD_TIME 250
55#define EEH_PE_RST_SETTLE_TIME 1800
56
57/*
58 * The struct is used to trace PE related EEH functionality.
59 * In theory, there will have one instance of the struct to
1/*
2 * Copyright (C) 2001 Dave Engebretsen & Todd Inglett IBM Corporation.
3 * Copyright 2001-2012 IBM Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 43 unchanged lines hidden (view full) ---

52 * is specified as 1.5 seconds and we have 1.8 seconds.
53 */
54#define EEH_PE_RST_HOLD_TIME 250
55#define EEH_PE_RST_SETTLE_TIME 1800
56
57/*
58 * The struct is used to trace PE related EEH functionality.
59 * In theory, there will have one instance of the struct to
60 * be created against particular PE. In nature, PEs corelate
60 * be created against particular PE. In nature, PEs correlate
61 * to each other. the struct has to reflect that hierarchy in
62 * order to easily pick up those affected PEs when one particular
63 * PE has EEH errors.
64 *
65 * Also, one particular PE might be composed of PCI device, PCI
66 * bus and its subordinate components. The struct also need ship
67 * the information. Further more, one particular PE is only meaingful
68 * in the corresponding PHB. Therefore, the root PEs should be created

--- 200 unchanged lines hidden (view full) ---

269void *eeh_pe_traverse(struct eeh_pe *root,
270 eeh_traverse_func fn, void *flag);
271void *eeh_pe_dev_traverse(struct eeh_pe *root,
272 eeh_traverse_func fn, void *flag);
273void eeh_pe_restore_bars(struct eeh_pe *pe);
274const char *eeh_pe_loc_get(struct eeh_pe *pe);
275struct pci_bus *eeh_pe_bus_get(struct eeh_pe *pe);
276
61 * to each other. the struct has to reflect that hierarchy in
62 * order to easily pick up those affected PEs when one particular
63 * PE has EEH errors.
64 *
65 * Also, one particular PE might be composed of PCI device, PCI
66 * bus and its subordinate components. The struct also need ship
67 * the information. Further more, one particular PE is only meaingful
68 * in the corresponding PHB. Therefore, the root PEs should be created

--- 200 unchanged lines hidden (view full) ---

269void *eeh_pe_traverse(struct eeh_pe *root,
270 eeh_traverse_func fn, void *flag);
271void *eeh_pe_dev_traverse(struct eeh_pe *root,
272 eeh_traverse_func fn, void *flag);
273void eeh_pe_restore_bars(struct eeh_pe *pe);
274const char *eeh_pe_loc_get(struct eeh_pe *pe);
275struct pci_bus *eeh_pe_bus_get(struct eeh_pe *pe);
276
277void *eeh_dev_init(struct pci_dn *pdn, void *data);
277struct eeh_dev *eeh_dev_init(struct pci_dn *pdn);
278void eeh_dev_phb_init_dynamic(struct pci_controller *phb);
279int eeh_init(void);
280int __init eeh_ops_register(struct eeh_ops *ops);
281int __exit eeh_ops_unregister(const char *name);
282int eeh_check_failure(const volatile void __iomem *token);
283int eeh_dev_check_failure(struct eeh_dev *edev);
284void eeh_addr_cache_build(void);
285void eeh_add_device_early(struct pci_dn *);

--- 177 unchanged lines hidden ---
278void eeh_dev_phb_init_dynamic(struct pci_controller *phb);
279int eeh_init(void);
280int __init eeh_ops_register(struct eeh_ops *ops);
281int __exit eeh_ops_unregister(const char *name);
282int eeh_check_failure(const volatile void __iomem *token);
283int eeh_dev_check_failure(struct eeh_dev *edev);
284void eeh_addr_cache_build(void);
285void eeh_add_device_early(struct pci_dn *);

--- 177 unchanged lines hidden ---