Message ID | 1449523949-21898-7-git-send-email-keith.busch@intel.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
PCI/AER: Increase domain type from 16 to 32 bits On Mon, Dec 07, 2015 at 02:32:28PM -0700, Keith Busch wrote: > New pci device provides additional pci domains that start above what 16 > bits can address. > > Signed-off-by: Keith Busch <keith.busch@intel.com> > --- > drivers/pci/pcie/aer/aer_inject.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c > index 182224a..24b191e 100644 > --- a/drivers/pci/pcie/aer/aer_inject.c > +++ b/drivers/pci/pcie/aer/aer_inject.c > @@ -41,12 +41,12 @@ struct aer_error_inj { > u32 header_log1; > u32 header_log2; > u32 header_log3; > - u16 domain; > + int domain; If you want 32 bits explicitly, why don't you use u32 here? > }; > > struct aer_error { > struct list_head list; > - u16 domain; > + int domain; > unsigned int bus; > unsigned int devfn; > int pos_cap_err; > @@ -74,7 +74,7 @@ static LIST_HEAD(pci_bus_ops_list); > /* Protect einjected and pci_bus_ops_list */ > static DEFINE_SPINLOCK(inject_lock); > > -static void aer_error_init(struct aer_error *err, u16 domain, > +static void aer_error_init(struct aer_error *err, int domain, > unsigned int bus, unsigned int devfn, > int pos_cap_err) > { > @@ -86,7 +86,7 @@ static void aer_error_init(struct aer_error *err, u16 domain, > } > > /* inject_lock must be held before calling */ > -static struct aer_error *__find_aer_error(u16 domain, unsigned int bus, > +static struct aer_error *__find_aer_error(int domain, unsigned int bus, > unsigned int devfn) > { > struct aer_error *err; > @@ -106,7 +106,7 @@ static struct aer_error *__find_aer_error_by_dev(struct pci_dev *dev) > int domain = pci_domain_nr(dev->bus); > if (domain < 0) > return NULL; > - return __find_aer_error((u16)domain, dev->bus->number, dev->devfn); > + return __find_aer_error(domain, dev->bus->number, dev->devfn); > } > > /* inject_lock must be held before calling */ > @@ -196,7 +196,7 @@ static int pci_read_aer(struct pci_bus *bus, unsigned int devfn, int where, > domain = pci_domain_nr(bus); > if (domain < 0) > goto out; > - err = __find_aer_error((u16)domain, bus->number, devfn); > + err = __find_aer_error(domain, bus->number, devfn); > if (!err) > goto out; > > @@ -228,7 +228,7 @@ static int pci_write_aer(struct pci_bus *bus, unsigned int devfn, int where, > domain = pci_domain_nr(bus); > if (domain < 0) > goto out; > - err = __find_aer_error((u16)domain, bus->number, devfn); > + err = __find_aer_error(domain, bus->number, devfn); > if (!err) > goto out; > > @@ -329,7 +329,7 @@ static int aer_inject(struct aer_error_inj *einj) > u32 sever, cor_mask, uncor_mask, cor_mask_orig = 0, uncor_mask_orig = 0; > int ret = 0; > > - dev = pci_get_domain_bus_and_slot((int)einj->domain, einj->bus, devfn); > + dev = pci_get_domain_bus_and_slot(einj->domain, einj->bus, devfn); > if (!dev) > return -ENODEV; > rpdev = pcie_find_root_port(dev); > -- > 2.6.2.307.g37023ba > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Dec 17, 2015 at 11:46:15AM -0600, Bjorn Helgaas wrote: > On Mon, Dec 07, 2015 at 02:32:28PM -0700, Keith Busch wrote: > > - u16 domain; > > + int domain; > > If you want 32 bits explicitly, why don't you use u32 here? It matches the types already defined in struct pci_dev and the pci_domain_nr return value. Would you prefer changing all of them to u32, just aer_inject's, or leave as-is? -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c index 182224a..24b191e 100644 --- a/drivers/pci/pcie/aer/aer_inject.c +++ b/drivers/pci/pcie/aer/aer_inject.c @@ -41,12 +41,12 @@ struct aer_error_inj { u32 header_log1; u32 header_log2; u32 header_log3; - u16 domain; + int domain; }; struct aer_error { struct list_head list; - u16 domain; + int domain; unsigned int bus; unsigned int devfn; int pos_cap_err; @@ -74,7 +74,7 @@ static LIST_HEAD(pci_bus_ops_list); /* Protect einjected and pci_bus_ops_list */ static DEFINE_SPINLOCK(inject_lock); -static void aer_error_init(struct aer_error *err, u16 domain, +static void aer_error_init(struct aer_error *err, int domain, unsigned int bus, unsigned int devfn, int pos_cap_err) { @@ -86,7 +86,7 @@ static void aer_error_init(struct aer_error *err, u16 domain, } /* inject_lock must be held before calling */ -static struct aer_error *__find_aer_error(u16 domain, unsigned int bus, +static struct aer_error *__find_aer_error(int domain, unsigned int bus, unsigned int devfn) { struct aer_error *err; @@ -106,7 +106,7 @@ static struct aer_error *__find_aer_error_by_dev(struct pci_dev *dev) int domain = pci_domain_nr(dev->bus); if (domain < 0) return NULL; - return __find_aer_error((u16)domain, dev->bus->number, dev->devfn); + return __find_aer_error(domain, dev->bus->number, dev->devfn); } /* inject_lock must be held before calling */ @@ -196,7 +196,7 @@ static int pci_read_aer(struct pci_bus *bus, unsigned int devfn, int where, domain = pci_domain_nr(bus); if (domain < 0) goto out; - err = __find_aer_error((u16)domain, bus->number, devfn); + err = __find_aer_error(domain, bus->number, devfn); if (!err) goto out; @@ -228,7 +228,7 @@ static int pci_write_aer(struct pci_bus *bus, unsigned int devfn, int where, domain = pci_domain_nr(bus); if (domain < 0) goto out; - err = __find_aer_error((u16)domain, bus->number, devfn); + err = __find_aer_error(domain, bus->number, devfn); if (!err) goto out; @@ -329,7 +329,7 @@ static int aer_inject(struct aer_error_inj *einj) u32 sever, cor_mask, uncor_mask, cor_mask_orig = 0, uncor_mask_orig = 0; int ret = 0; - dev = pci_get_domain_bus_and_slot((int)einj->domain, einj->bus, devfn); + dev = pci_get_domain_bus_and_slot(einj->domain, einj->bus, devfn); if (!dev) return -ENODEV; rpdev = pcie_find_root_port(dev);
New pci device provides additional pci domains that start above what 16 bits can address. Signed-off-by: Keith Busch <keith.busch@intel.com> --- drivers/pci/pcie/aer/aer_inject.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)