Re: [PATCH 10/13]: PCI Err: PPC64-specific recovery infrastructure

From: Benjamin Herrenschmidt
Date: Tue Jun 28 2005 - 23:43:07 EST


On Tue, 2005-06-28 at 18:59 -0500, Linas Vepstas wrote:
>
> struct device_node {
> char *name;
> @@ -137,9 +138,13 @@ struct device_node {
> int devfn; /* for pci devices */
> int eeh_mode; /* See eeh.h for possible
> EEH_MODEs */
> int eeh_config_addr;
> + int eeh_check_count; /* number of times device driver
> ignored error */
> + int eeh_freeze_count; /* number of times this device froze
> up. */
> + int eeh_is_bridge; /* device is pci-to-pci bridge */
> int pci_ext_config_space; /* for pci devices */
> struct pci_controller *phb; /* for pci devices */
> struct iommu_table *iommu_table; /* for phb's or
> bridges */
> + u32 config_space[16]; /* saved PCI config space */
>
> struct property *properties;
> struct device_node *parent;

Please, do not add crap to struct device_node. It's already bloated
enough and we intend to instead get rid of the stuff in there.

Do you actually need to save the config space at all ? Can't you just
use "assigned-address" property to fill up the BARs again ? As for the
other EEH things, well, we probably need to bite the bullet and do what
we talked about doing for a while, that is split the PCI related junk
out of struct device_node and into a separate structure. We could maybe
at first (to ease the transition) keep a pointer to it in device_node,
and we can create that structure early in pci_dn. That way, we only
really need to add gunk to PCI devices and not to all nodes. Same for
VIO actually.

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/