Message ID | 20190427191304.32502-2-fred@fredlawl.com |
---|---|
State | Changes Requested |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI: Use PCIe service name in dmesg logs | expand |
On Sat, Apr 27, 2019 at 02:13:01PM -0500, fred@fredlawl.com wrote: > From: Frederick Lawler <fred@fredlawl.com> > > Replace remaining instances of dev_*() printk wrappers with pci_*() > printk wrappers. No functional change intended. > - pci_printk(KERN_DEBUG, parent, "can't find device of ID%04x\n", > - e_info->id); > + pci_dbg(parent, "can't find device of ID%04x\n", e_info->id); These are not equivalent. > - dev_printk(KERN_DEBUG, device, "alloc AER rpc failed\n"); > + pci_dbg(pdev, "alloc AER rpc failed\n"); Ditto. > - dev_printk(KERN_DEBUG, device, "request AER IRQ %d failed\n", > - dev->irq); > + pci_dbg(pdev, "request AER IRQ %d failed\n", dev->irq); Ditto. And so on.
On Sat, Apr 27, 2019 at 02:13:01PM -0500, fred@fredlawl.com wrote: > From: Frederick Lawler <fred@fredlawl.com> > > Replace remaining instances of dev_*() printk wrappers with pci_*() > printk wrappers. No functional change intended. > > Signed-off-by: Frederick Lawler <fred@fredlawl.com> > --- > drivers/pci/pcie/aer.c | 13 ++++++------- > drivers/pci/pcie/aer_inject.c | 4 ++-- > drivers/pci/pcie/dpc.c | 27 ++++++++++++--------------- > 3 files changed, 20 insertions(+), 24 deletions(-) > > diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c > index f8fc2114ad39..224d878a28b4 100644 > --- a/drivers/pci/pcie/aer.c > +++ b/drivers/pci/pcie/aer.c > @@ -964,8 +964,7 @@ static bool find_source_device(struct pci_dev *parent, > pci_walk_bus(parent->subordinate, find_device_iter, e_info); > > if (!e_info->error_dev_num) { > - pci_printk(KERN_DEBUG, parent, "can't find device of ID%04x\n", > - e_info->id); > + pci_dbg(parent, "can't find device of ID%04x\n", e_info->id); I don't like dev_dbg() and pci_dbg() because the behavior depends on CONFIG_DYNAMIC_DEBUG, DEBUG, etc. They may be fine for development, but for production, I want to be able to users for "a complete dmesg log". I don't want to have to ask them to "please rebuild your kernel with CONFIG_DYNAMIC_DEBUG=n and boot with 'dyndbg=xxx'" For that reason I prefer the "pci_printk(KERN_DEBUG)" because that output always goes to the dmesg log. But "pci_printk(KERN_DEBUG)" is definitely ugly. I think the way to fix that is to convert it to "pci_info()" instead. > return false; > } > return true; > @@ -1377,10 +1376,11 @@ static int aer_probe(struct pcie_device *dev) > int status; > struct aer_rpc *rpc; > struct device *device = &dev->device; > + struct pci_dev *pdev = dev->port; > > rpc = devm_kzalloc(device, sizeof(struct aer_rpc), GFP_KERNEL); > if (!rpc) { > - dev_printk(KERN_DEBUG, device, "alloc AER rpc failed\n"); > + pci_dbg(pdev, "alloc AER rpc failed\n"); This hunk converts from using the pcie_device to the pci_dev, so it belongs in a different patch. > return -ENOMEM; > } > rpc->rpd = dev->port; > @@ -1389,13 +1389,12 @@ static int aer_probe(struct pcie_device *dev) > status = devm_request_threaded_irq(device, dev->irq, aer_irq, aer_isr, > IRQF_SHARED, "aerdrv", dev); > if (status) { > - dev_printk(KERN_DEBUG, device, "request AER IRQ %d failed\n", > - dev->irq); > + pci_dbg(pdev, "request AER IRQ %d failed\n", dev->irq); > return status; This one also. > } > > aer_enable_rootport(rpc); > - dev_info(device, "AER enabled with IRQ %d\n", dev->irq); > + pci_info(pdev, "AER enabled with IRQ %d\n", dev->irq); And this, and many others below. *This* patch should only convert - pci_printk(KERN_DEBUG, pdev, ...) + pci_info(pdev, ...) and - dev_printk(KERN_DEBUG, pcie_dev, ...) + dev_info(pcie_dev, ...) > return 0; > } > > @@ -1419,7 +1418,7 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev) > pci_write_config_dword(dev, pos + PCI_ERR_ROOT_COMMAND, reg32); > > rc = pci_bus_error_reset(dev); > - pci_printk(KERN_DEBUG, dev, "Root Port link has been reset\n"); > + pci_dbg(dev, "Root Port link has been reset\n"); > > /* Clear Root Error Status */ > pci_read_config_dword(dev, pos + PCI_ERR_ROOT_STATUS, ®32); > diff --git a/drivers/pci/pcie/aer_inject.c b/drivers/pci/pcie/aer_inject.c > index 95d4759664b3..610b617ae600 100644 > --- a/drivers/pci/pcie/aer_inject.c > +++ b/drivers/pci/pcie/aer_inject.c > @@ -460,12 +460,12 @@ static int aer_inject(struct aer_error_inj *einj) > if (device) { > edev = to_pcie_device(device); > if (!get_service_data(edev)) { > - dev_warn(&edev->device, > + pci_warn(edev->port, > "aer_inject: AER service is not initialized\n"); > ret = -EPROTONOSUPPORT; > goto out_put; > } > - dev_info(&edev->device, > + pci_info(edev->port, > "aer_inject: Injecting errors %08x/%08x into device %s\n", > einj->cor_status, einj->uncor_status, pci_name(dev)); > local_irq_disable(); > diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c > index 7b77754a82de..72659286191b 100644 > --- a/drivers/pci/pcie/dpc.c > +++ b/drivers/pci/pcie/dpc.c > @@ -100,7 +100,6 @@ static int dpc_wait_rp_inactive(struct dpc_dev *dpc) > { > unsigned long timeout = jiffies + HZ; > struct pci_dev *pdev = dpc->dev->port; > - struct device *dev = &dpc->dev->device; > u16 cap = dpc->cap_pos, status; > > pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); > @@ -110,7 +109,7 @@ static int dpc_wait_rp_inactive(struct dpc_dev *dpc) > pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); > } > if (status & PCI_EXP_DPC_RP_BUSY) { > - dev_warn(dev, "DPC root port still busy\n"); > + pci_warn(pdev, "DPC root port still busy\n"); > return -EBUSY; > } > return 0; > @@ -148,7 +147,6 @@ static pci_ers_result_t dpc_reset_link(struct pci_dev *pdev) > > static void dpc_process_rp_pio_error(struct dpc_dev *dpc) > { > - struct device *dev = &dpc->dev->device; > struct pci_dev *pdev = dpc->dev->port; > u16 cap = dpc->cap_pos, dpc_status, first_error; > u32 status, mask, sev, syserr, exc, dw0, dw1, dw2, dw3, log, prefix; > @@ -156,13 +154,13 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) > > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_STATUS, &status); > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_MASK, &mask); > - dev_err(dev, "rp_pio_status: %#010x, rp_pio_mask: %#010x\n", > + pci_err(pdev, "rp_pio_status: %#010x, rp_pio_mask: %#010x\n", > status, mask); > > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_SEVERITY, &sev); > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_SYSERROR, &syserr); > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_EXCEPTION, &exc); > - dev_err(dev, "RP PIO severity=%#010x, syserror=%#010x, exception=%#010x\n", > + pci_err(pdev, "RP PIO severity=%#010x, syserror=%#010x, exception=%#010x\n", > sev, syserr, exc); > > /* Get First Error Pointer */ > @@ -171,7 +169,7 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) > > for (i = 0; i < ARRAY_SIZE(rp_pio_error_string); i++) { > if ((status & ~mask) & (1 << i)) > - dev_err(dev, "[%2d] %s%s\n", i, rp_pio_error_string[i], > + pci_err(pdev, "[%2d] %s%s\n", i, rp_pio_error_string[i], > first_error == i ? " (First)" : ""); > } > > @@ -185,18 +183,18 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) > &dw2); > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_HEADER_LOG + 12, > &dw3); > - dev_err(dev, "TLP Header: %#010x %#010x %#010x %#010x\n", > + pci_err(pdev, "TLP Header: %#010x %#010x %#010x %#010x\n", > dw0, dw1, dw2, dw3); > > if (dpc->rp_log_size < 5) > goto clear_status; > pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG, &log); > - dev_err(dev, "RP PIO ImpSpec Log %#010x\n", log); > + pci_err(pdev, "RP PIO ImpSpec Log %#010x\n", log); > > for (i = 0; i < dpc->rp_log_size - 5; i++) { > pci_read_config_dword(pdev, > cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG, &prefix); > - dev_err(dev, "TLP Prefix Header: dw%d, %#010x\n", i, prefix); > + pci_err(pdev, "TLP Prefix Header: dw%d, %#010x\n", i, prefix); > } > clear_status: > pci_write_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_STATUS, status); > @@ -229,18 +227,17 @@ static irqreturn_t dpc_handler(int irq, void *context) > struct aer_err_info info; > struct dpc_dev *dpc = context; > struct pci_dev *pdev = dpc->dev->port; > - struct device *dev = &dpc->dev->device; > u16 cap = dpc->cap_pos, status, source, reason, ext_reason; > > pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); > pci_read_config_word(pdev, cap + PCI_EXP_DPC_SOURCE_ID, &source); > > - dev_info(dev, "DPC containment event, status:%#06x source:%#06x\n", > + pci_info(pdev, "DPC containment event, status:%#06x source:%#06x\n", > status, source); > > reason = (status & PCI_EXP_DPC_STATUS_TRIGGER_RSN) >> 1; > ext_reason = (status & PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT) >> 5; > - dev_warn(dev, "DPC %s detected\n", > + pci_warn(pdev, "DPC %s detected\n", > (reason == 0) ? "unmasked uncorrectable error" : > (reason == 1) ? "ERR_NONFATAL" : > (reason == 2) ? "ERR_FATAL" : > @@ -307,7 +304,7 @@ static int dpc_probe(struct pcie_device *dev) > dpc_handler, IRQF_SHARED, > "pcie-dpc", dpc); > if (status) { > - dev_warn(device, "request IRQ%d failed: %d\n", dev->irq, > + pci_warn(pdev, "request IRQ%d failed: %d\n", dev->irq, > status); > return status; > } > @@ -319,7 +316,7 @@ static int dpc_probe(struct pcie_device *dev) > if (dpc->rp_extensions) { > dpc->rp_log_size = (cap & PCI_EXP_DPC_RP_PIO_LOG_SIZE) >> 8; > if (dpc->rp_log_size < 4 || dpc->rp_log_size > 9) { > - dev_err(device, "RP PIO log size %u is invalid\n", > + pci_err(pdev, "RP PIO log size %u is invalid\n", > dpc->rp_log_size); > dpc->rp_log_size = 0; > } > @@ -328,7 +325,7 @@ static int dpc_probe(struct pcie_device *dev) > ctl = (ctl & 0xfff4) | PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN; > pci_write_config_word(pdev, dpc->cap_pos + PCI_EXP_DPC_CTL, ctl); > > - dev_info(device, "DPC error containment capabilities: Int Msg #%d, RPExt%c PoisonedTLP%c SwTrigger%c RP PIO Log %d, DL_ActiveErr%c\n", > + pci_info(pdev, "DPC error containment capabilities: Int Msg #%d, RPExt%c PoisonedTLP%c SwTrigger%c RP PIO Log %d, DL_ActiveErr%c\n", > cap & PCI_EXP_DPC_IRQ, FLAG(cap, PCI_EXP_DPC_CAP_RP_EXT), > FLAG(cap, PCI_EXP_DPC_CAP_POISONED_TLP), > FLAG(cap, PCI_EXP_DPC_CAP_SW_TRIGGER), dpc->rp_log_size, > -- > 2.17.1 >
On Sun, Apr 28, 2019 at 07:02:58PM -0500, Bjorn Helgaas wrote: > On Sat, Apr 27, 2019 at 02:13:01PM -0500, fred@fredlawl.com wrote: > > From: Frederick Lawler <fred@fredlawl.com> > > > > Replace remaining instances of dev_*() printk wrappers with pci_*() > > printk wrappers. No functional change intended. > > > > Signed-off-by: Frederick Lawler <fred@fredlawl.com> > > --- > > drivers/pci/pcie/aer.c | 13 ++++++------- > > drivers/pci/pcie/aer_inject.c | 4 ++-- > > drivers/pci/pcie/dpc.c | 27 ++++++++++++--------------- > > 3 files changed, 20 insertions(+), 24 deletions(-) > > aer_enable_rootport(rpc); > > - dev_info(device, "AER enabled with IRQ %d\n", dev->irq); > > + pci_info(pdev, "AER enabled with IRQ %d\n", dev->irq); > > And this, and many others below. *This* patch should only convert > > - pci_printk(KERN_DEBUG, pdev, ...) > + pci_info(pdev, ...) > > and > > - dev_printk(KERN_DEBUG, pcie_dev, ...) > + dev_info(pcie_dev, ...) Just to clarify, I do *want* both changes, just in separate patches. So we'd have 1) Convert KERN_DEBUG uses to pci_info() for pci_dev usage and to dev_info() for pcie_device usage. I think pciehp is probably an exception to this; this patch shouldn't touch ctrl_dbg(). 2) Convert "dev_info(pcie_device)" to "pci_info(pci_dev)". It might be worth doing this in separate patches for each service. If we decide they're simple enough to combine, that's trivial for me to do. It's a little more hassle to split things up afterwards. In pciehp, if you do this in the ctrl_*() definitions, it will make the patch much smaller. 3) In pciehp, ctrl_dbg() could probably be changed to use pci_dbg() so we'd use the standard kernel dynamic debug stuff instead of having the pciehp-specific module parameter. Thanks a lot for working on all this. I think it will make the user experience significantly simpler. Bjorn
Andy, Andy Shevchenko wrote on 4/28/19 10:43 AM: > On Sat, Apr 27, 2019 at 02:13:01PM -0500, fred@fredlawl.com wrote: >> From: Frederick Lawler <fred@fredlawl.com> >> >> Replace remaining instances of dev_*() printk wrappers with pci_*() >> printk wrappers. No functional change intended. > >> - pci_printk(KERN_DEBUG, parent, "can't find device of ID%04x\n", >> - e_info->id); >> + pci_dbg(parent, "can't find device of ID%04x\n", e_info->id); > > These are not equivalent. > >> - dev_printk(KERN_DEBUG, device, "alloc AER rpc failed\n"); >> + pci_dbg(pdev, "alloc AER rpc failed\n"); > > Ditto. > >> - dev_printk(KERN_DEBUG, device, "request AER IRQ %d failed\n", >> - dev->irq); >> + pci_dbg(pdev, "request AER IRQ %d failed\n", dev->irq); > > Ditto. > > And so on. > Thanks for the review. Clearly this was an oversight on my part and I'll have that corrected. Thanks! Frederick Lawler
Bjorn, Bjorn Helgaas wrote on 4/28/19 7:52 PM: > On Sun, Apr 28, 2019 at 07:02:58PM -0500, Bjorn Helgaas wrote: >> On Sat, Apr 27, 2019 at 02:13:01PM -0500, fred@fredlawl.com wrote: >>> From: Frederick Lawler <fred@fredlawl.com> >>> >>> Replace remaining instances of dev_*() printk wrappers with pci_*() >>> printk wrappers. No functional change intended. >>> >>> Signed-off-by: Frederick Lawler <fred@fredlawl.com> >>> --- >>> drivers/pci/pcie/aer.c | 13 ++++++------- >>> drivers/pci/pcie/aer_inject.c | 4 ++-- >>> drivers/pci/pcie/dpc.c | 27 ++++++++++++--------------- >>> 3 files changed, 20 insertions(+), 24 deletions(-) > >>> aer_enable_rootport(rpc); >>> - dev_info(device, "AER enabled with IRQ %d\n", dev->irq); >>> + pci_info(pdev, "AER enabled with IRQ %d\n", dev->irq); >> >> And this, and many others below. *This* patch should only convert >> >> - pci_printk(KERN_DEBUG, pdev, ...) >> + pci_info(pdev, ...) >> >> and >> >> - dev_printk(KERN_DEBUG, pcie_dev, ...) >> + dev_info(pcie_dev, ...) > > Just to clarify, I do *want* both changes, just in separate patches. > So we'd have > > 1) Convert KERN_DEBUG uses to pci_info() for pci_dev usage and to > dev_info() for pcie_device usage. I think pciehp is probably an > exception to this; this patch shouldn't touch ctrl_dbg(). > > 2) Convert "dev_info(pcie_device)" to "pci_info(pci_dev)". It might > be worth doing this in separate patches for each service. If we > decide they're simple enough to combine, that's trivial for me to > do. It's a little more hassle to split things up afterwards. > > In pciehp, if you do this in the ctrl_*() definitions, it will > make the patch much smaller. > > 3) In pciehp, ctrl_dbg() could probably be changed to use pci_dbg() > so we'd use the standard kernel dynamic debug stuff instead of > having the pciehp-specific module parameter. > > Thanks a lot for working on all this. I think it will make the user > experience significantly simpler. > > Bjorn > Will do, thanks! Frederick Lawler
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index f8fc2114ad39..224d878a28b4 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -964,8 +964,7 @@ static bool find_source_device(struct pci_dev *parent, pci_walk_bus(parent->subordinate, find_device_iter, e_info); if (!e_info->error_dev_num) { - pci_printk(KERN_DEBUG, parent, "can't find device of ID%04x\n", - e_info->id); + pci_dbg(parent, "can't find device of ID%04x\n", e_info->id); return false; } return true; @@ -1377,10 +1376,11 @@ static int aer_probe(struct pcie_device *dev) int status; struct aer_rpc *rpc; struct device *device = &dev->device; + struct pci_dev *pdev = dev->port; rpc = devm_kzalloc(device, sizeof(struct aer_rpc), GFP_KERNEL); if (!rpc) { - dev_printk(KERN_DEBUG, device, "alloc AER rpc failed\n"); + pci_dbg(pdev, "alloc AER rpc failed\n"); return -ENOMEM; } rpc->rpd = dev->port; @@ -1389,13 +1389,12 @@ static int aer_probe(struct pcie_device *dev) status = devm_request_threaded_irq(device, dev->irq, aer_irq, aer_isr, IRQF_SHARED, "aerdrv", dev); if (status) { - dev_printk(KERN_DEBUG, device, "request AER IRQ %d failed\n", - dev->irq); + pci_dbg(pdev, "request AER IRQ %d failed\n", dev->irq); return status; } aer_enable_rootport(rpc); - dev_info(device, "AER enabled with IRQ %d\n", dev->irq); + pci_info(pdev, "AER enabled with IRQ %d\n", dev->irq); return 0; } @@ -1419,7 +1418,7 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev) pci_write_config_dword(dev, pos + PCI_ERR_ROOT_COMMAND, reg32); rc = pci_bus_error_reset(dev); - pci_printk(KERN_DEBUG, dev, "Root Port link has been reset\n"); + pci_dbg(dev, "Root Port link has been reset\n"); /* Clear Root Error Status */ pci_read_config_dword(dev, pos + PCI_ERR_ROOT_STATUS, ®32); diff --git a/drivers/pci/pcie/aer_inject.c b/drivers/pci/pcie/aer_inject.c index 95d4759664b3..610b617ae600 100644 --- a/drivers/pci/pcie/aer_inject.c +++ b/drivers/pci/pcie/aer_inject.c @@ -460,12 +460,12 @@ static int aer_inject(struct aer_error_inj *einj) if (device) { edev = to_pcie_device(device); if (!get_service_data(edev)) { - dev_warn(&edev->device, + pci_warn(edev->port, "aer_inject: AER service is not initialized\n"); ret = -EPROTONOSUPPORT; goto out_put; } - dev_info(&edev->device, + pci_info(edev->port, "aer_inject: Injecting errors %08x/%08x into device %s\n", einj->cor_status, einj->uncor_status, pci_name(dev)); local_irq_disable(); diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c index 7b77754a82de..72659286191b 100644 --- a/drivers/pci/pcie/dpc.c +++ b/drivers/pci/pcie/dpc.c @@ -100,7 +100,6 @@ static int dpc_wait_rp_inactive(struct dpc_dev *dpc) { unsigned long timeout = jiffies + HZ; struct pci_dev *pdev = dpc->dev->port; - struct device *dev = &dpc->dev->device; u16 cap = dpc->cap_pos, status; pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); @@ -110,7 +109,7 @@ static int dpc_wait_rp_inactive(struct dpc_dev *dpc) pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); } if (status & PCI_EXP_DPC_RP_BUSY) { - dev_warn(dev, "DPC root port still busy\n"); + pci_warn(pdev, "DPC root port still busy\n"); return -EBUSY; } return 0; @@ -148,7 +147,6 @@ static pci_ers_result_t dpc_reset_link(struct pci_dev *pdev) static void dpc_process_rp_pio_error(struct dpc_dev *dpc) { - struct device *dev = &dpc->dev->device; struct pci_dev *pdev = dpc->dev->port; u16 cap = dpc->cap_pos, dpc_status, first_error; u32 status, mask, sev, syserr, exc, dw0, dw1, dw2, dw3, log, prefix; @@ -156,13 +154,13 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_STATUS, &status); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_MASK, &mask); - dev_err(dev, "rp_pio_status: %#010x, rp_pio_mask: %#010x\n", + pci_err(pdev, "rp_pio_status: %#010x, rp_pio_mask: %#010x\n", status, mask); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_SEVERITY, &sev); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_SYSERROR, &syserr); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_EXCEPTION, &exc); - dev_err(dev, "RP PIO severity=%#010x, syserror=%#010x, exception=%#010x\n", + pci_err(pdev, "RP PIO severity=%#010x, syserror=%#010x, exception=%#010x\n", sev, syserr, exc); /* Get First Error Pointer */ @@ -171,7 +169,7 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) for (i = 0; i < ARRAY_SIZE(rp_pio_error_string); i++) { if ((status & ~mask) & (1 << i)) - dev_err(dev, "[%2d] %s%s\n", i, rp_pio_error_string[i], + pci_err(pdev, "[%2d] %s%s\n", i, rp_pio_error_string[i], first_error == i ? " (First)" : ""); } @@ -185,18 +183,18 @@ static void dpc_process_rp_pio_error(struct dpc_dev *dpc) &dw2); pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_HEADER_LOG + 12, &dw3); - dev_err(dev, "TLP Header: %#010x %#010x %#010x %#010x\n", + pci_err(pdev, "TLP Header: %#010x %#010x %#010x %#010x\n", dw0, dw1, dw2, dw3); if (dpc->rp_log_size < 5) goto clear_status; pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG, &log); - dev_err(dev, "RP PIO ImpSpec Log %#010x\n", log); + pci_err(pdev, "RP PIO ImpSpec Log %#010x\n", log); for (i = 0; i < dpc->rp_log_size - 5; i++) { pci_read_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG, &prefix); - dev_err(dev, "TLP Prefix Header: dw%d, %#010x\n", i, prefix); + pci_err(pdev, "TLP Prefix Header: dw%d, %#010x\n", i, prefix); } clear_status: pci_write_config_dword(pdev, cap + PCI_EXP_DPC_RP_PIO_STATUS, status); @@ -229,18 +227,17 @@ static irqreturn_t dpc_handler(int irq, void *context) struct aer_err_info info; struct dpc_dev *dpc = context; struct pci_dev *pdev = dpc->dev->port; - struct device *dev = &dpc->dev->device; u16 cap = dpc->cap_pos, status, source, reason, ext_reason; pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); pci_read_config_word(pdev, cap + PCI_EXP_DPC_SOURCE_ID, &source); - dev_info(dev, "DPC containment event, status:%#06x source:%#06x\n", + pci_info(pdev, "DPC containment event, status:%#06x source:%#06x\n", status, source); reason = (status & PCI_EXP_DPC_STATUS_TRIGGER_RSN) >> 1; ext_reason = (status & PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT) >> 5; - dev_warn(dev, "DPC %s detected\n", + pci_warn(pdev, "DPC %s detected\n", (reason == 0) ? "unmasked uncorrectable error" : (reason == 1) ? "ERR_NONFATAL" : (reason == 2) ? "ERR_FATAL" : @@ -307,7 +304,7 @@ static int dpc_probe(struct pcie_device *dev) dpc_handler, IRQF_SHARED, "pcie-dpc", dpc); if (status) { - dev_warn(device, "request IRQ%d failed: %d\n", dev->irq, + pci_warn(pdev, "request IRQ%d failed: %d\n", dev->irq, status); return status; } @@ -319,7 +316,7 @@ static int dpc_probe(struct pcie_device *dev) if (dpc->rp_extensions) { dpc->rp_log_size = (cap & PCI_EXP_DPC_RP_PIO_LOG_SIZE) >> 8; if (dpc->rp_log_size < 4 || dpc->rp_log_size > 9) { - dev_err(device, "RP PIO log size %u is invalid\n", + pci_err(pdev, "RP PIO log size %u is invalid\n", dpc->rp_log_size); dpc->rp_log_size = 0; } @@ -328,7 +325,7 @@ static int dpc_probe(struct pcie_device *dev) ctl = (ctl & 0xfff4) | PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN; pci_write_config_word(pdev, dpc->cap_pos + PCI_EXP_DPC_CTL, ctl); - dev_info(device, "DPC error containment capabilities: Int Msg #%d, RPExt%c PoisonedTLP%c SwTrigger%c RP PIO Log %d, DL_ActiveErr%c\n", + pci_info(pdev, "DPC error containment capabilities: Int Msg #%d, RPExt%c PoisonedTLP%c SwTrigger%c RP PIO Log %d, DL_ActiveErr%c\n", cap & PCI_EXP_DPC_IRQ, FLAG(cap, PCI_EXP_DPC_CAP_RP_EXT), FLAG(cap, PCI_EXP_DPC_CAP_POISONED_TLP), FLAG(cap, PCI_EXP_DPC_CAP_SW_TRIGGER), dpc->rp_log_size,