diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index eb500c2..4fc1b94 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c @@ -4,6 +4,8 @@ * (c) 1999--2000 Martin Mares */ +#define DEBUG + #include #include #include diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c index 6e6b80e..3881d3a 100644 --- a/drivers/acpi/pci_irq.c +++ b/drivers/acpi/pci_irq.c @@ -440,6 +440,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev) * driver reported one, then use it. Exit in any case. */ if (gsi < 0) { + dev_warn(&dev->dev, "?!?!? %s gsi < 0: %d\n", __func__, gsi); + if (acpi_isa_register_gsi(dev)) dev_warn(&dev->dev, "PCI INT %c: no GSI\n", pin_name(pin)); @@ -448,7 +450,13 @@ int acpi_pci_irq_enable(struct pci_dev *dev) return 0; } + rc = acpi_register_gsi(&dev->dev, gsi, triggering, polarity); + dev_warn(&dev->dev, "?!?!? %s: PCI INT %c%s -> GSI %u (%s, %s) -> IRQ/rc %d\n", + __func__, pin_name(pin), link_desc, gsi, + (triggering == ACPI_LEVEL_SENSITIVE) ? "level" : "edge", + (polarity == ACPI_ACTIVE_LOW) ? "low" : "high", rc); + if (rc < 0) { dev_warn(&dev->dev, "PCI INT %c: failed to register GSI\n", pin_name(pin)); diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 625a4ac..de47dc0 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -7,6 +7,8 @@ * Copyright 1997 -- 2000 Martin Mares */ +#define DEBUG + #include #include #include @@ -1605,12 +1607,13 @@ bool pci_check_pme_status(struct pci_dev *dev) pmcsr |= PCI_PM_CTRL_PME_STATUS; if (pmcsr & PCI_PM_CTRL_PME_ENABLE) { /* Disable PME to avoid interrupt flood. */ + dev_warn(&dev->dev, "%s: Disable PME to avoid interrupt flood.\n", __func__); pmcsr &= ~PCI_PM_CTRL_PME_ENABLE; ret = true; } pci_write_config_word(dev, pmcsr_pos, pmcsr); - + dev_warn(&dev->dev, "%s: ret:%d\n", __func__, ret); return ret; } @@ -1760,7 +1763,7 @@ void pci_pme_active(struct pci_dev *dev, bool enable) } } - dev_dbg(&dev->dev, "PME# %s\n", enable ? "enabled" : "disabled"); + dev_warn(&dev->dev, "PME# %s\n", enable ? "enabled" : "disabled"); } EXPORT_SYMBOL(pci_pme_active); @@ -1823,7 +1826,7 @@ int __pci_enable_wake(struct pci_dev *dev, pci_power_t state, pci_pme_active(dev, false); dev->wakeup_prepared = false; } - + dev_warn(&dev->dev, "%s ret:%d\n", __func__, ret); return ret; } EXPORT_SYMBOL(__pci_enable_wake); @@ -2939,6 +2942,8 @@ void pci_intx(struct pci_dev *pdev, int enable) pci_read_config_word(pdev, PCI_COMMAND, &pci_command); + dev_warn(&pdev->dev, "?!??!? %s: enable:%d\n",__func__, enable); + if (enable) new = pci_command & ~PCI_COMMAND_INTX_DISABLE; else @@ -2946,6 +2951,7 @@ void pci_intx(struct pci_dev *pdev, int enable) if (new != pci_command) { struct pci_devres *dr; + dev_warn(&pdev->dev, "?!??!? %s: enable:%d new != pci_command\n",__func__, enable); pci_write_config_word(pdev, PCI_COMMAND, new); diff --git a/drivers/pci/pcie/pme.c b/drivers/pci/pcie/pme.c index a9f9c46..d88b098 100644 --- a/drivers/pci/pcie/pme.c +++ b/drivers/pci/pcie/pme.c @@ -191,6 +191,10 @@ static void pcie_pme_handle_request(struct pci_dev *port, u16 req_id) if (found) { /* The device is there, but we have to check its PME status. */ found = pci_check_pme_status(dev); + dev_warn(&port->dev, "PME interrupt from %02x:%02x.%d found device %02x:%02x.%d found:%d\n", + busnr, PCI_SLOT(devfn), PCI_FUNC(devfn), + dev->bus->number,PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn), found); + if (found) { if (dev->pme_poll) dev->pme_poll = false; @@ -205,14 +209,14 @@ static void pcie_pme_handle_request(struct pci_dev *port, u16 req_id) * assuming that the PME was reported by a PCIe-PCI bridge that * used devfn different from zero. */ - dev_dbg(&port->dev, "PME interrupt generated for non-existent device %02x:%02x.%d\n", + dev_warn(&port->dev, "PME interrupt generated for non-existent device %02x:%02x.%d\n", busnr, PCI_SLOT(devfn), PCI_FUNC(devfn)); found = pcie_pme_from_pci_bridge(bus, 0); } out: if (!found) - dev_dbg(&port->dev, "Spurious native PME interrupt!\n"); + dev_warn(&port->dev, "Spurious native PME interrupt %02x:%02x.%d!\n",busnr, PCI_SLOT(devfn), PCI_FUNC(devfn)); } /** @@ -369,7 +373,7 @@ static int pcie_pme_probe(struct pcie_device *srv) pcie_pme_mark_devices(port); pcie_pme_interrupt_enable(port, true); } - + dev_info(&port->dev, "?!?!?!? %s: srv->irq:%d ret: %d \n",__func__, srv->irq, ret); return ret; } diff --git a/drivers/xen/xen-pciback/conf_space.c b/drivers/xen/xen-pciback/conf_space.c index 46ae0f9..a4fe763 100644 --- a/drivers/xen/xen-pciback/conf_space.c +++ b/drivers/xen/xen-pciback/conf_space.c @@ -152,11 +152,11 @@ int xen_pcibk_config_read(struct pci_dev *dev, int offset, int size, /* if read fails for any reason, return 0 * (as if device didn't respond) */ u32 value = 0, tmp_val; - + /* if (unlikely(verbose_request)) printk(KERN_DEBUG DRV_NAME ": %s: read %d bytes at 0x%x\n", pci_name(dev), size, offset); - + */ if (!valid_request(offset, size)) { err = XEN_PCI_ERR_invalid_offset; goto out; @@ -197,10 +197,11 @@ int xen_pcibk_config_read(struct pci_dev *dev, int offset, int size, } out: + /* if (unlikely(verbose_request)) printk(KERN_DEBUG DRV_NAME ": %s: read %d bytes at 0x%x = %x\n", pci_name(dev), size, offset, value); - + */ *ret_val = value; return xen_pcibios_err_to_errno(err); } @@ -214,11 +215,11 @@ int xen_pcibk_config_write(struct pci_dev *dev, int offset, int size, u32 value) u32 tmp_val; int req_start, req_end, field_start, field_end; - if (unlikely(verbose_request)) + /* if (unlikely(verbose_request)) printk(KERN_DEBUG DRV_NAME ": %s: write request %d bytes at 0x%x = %x\n", pci_name(dev), size, offset, value); - + */ if (!valid_request(offset, size)) return XEN_PCI_ERR_invalid_offset; diff --git a/drivers/xen/xen-pciback/passthrough.c b/drivers/xen/xen-pciback/passthrough.c index 828dddc..4760faa 100644 --- a/drivers/xen/xen-pciback/passthrough.c +++ b/drivers/xen/xen-pciback/passthrough.c @@ -5,6 +5,8 @@ * Author: Ryan Wilson */ +#define DEBUG + #include #include #include diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c index 017069a..b9e7264 100644 --- a/drivers/xen/xen-pciback/pci_stub.c +++ b/drivers/xen/xen-pciback/pci_stub.c @@ -5,6 +5,8 @@ * Chris Bookholt */ +#define DEBUG + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c index c4a0666..dc594d9 100644 --- a/drivers/xen/xen-pciback/pciback_ops.c +++ b/drivers/xen/xen-pciback/pciback_ops.c @@ -4,6 +4,8 @@ * Author: Ryan Wilson */ +#define DEBUG + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include @@ -13,8 +15,8 @@ #include #include "pciback.h" -int verbose_request; -module_param(verbose_request, int, 0644); +int verbose_request=1; +/* module_param(verbose_request, int, 0644); */ static irqreturn_t xen_pcibk_guest_interrupt(int irq, void *dev_id); @@ -60,7 +62,7 @@ static void xen_pcibk_control_isr(struct pci_dev *dev, int reset) if (dev_data->irq == 0) goto out; - dev_dbg(&dev->dev, "%s: #%d %s %s%s %s-> %s\n", + dev_warn(&dev->dev, "%s: #%d %s %s%s %s-> %s\n", dev_data->irq_name, dev_data->irq, pci_is_enabled(dev) ? "on" : "off", @@ -86,7 +88,7 @@ static void xen_pcibk_control_isr(struct pci_dev *dev, int reset) dev_data->isr_on = enable; dev_data->ack_intr = enable; out: - dev_dbg(&dev->dev, "%s: #%d %s %s%s %s\n", + dev_warn(&dev->dev, "%s: #%d %s %s%s %s\n", dev_data->irq_name, dev_data->irq, pci_is_enabled(dev) ? "on" : "off", @@ -141,8 +143,8 @@ int xen_pcibk_enable_msi(struct xen_pcibk_device *pdev, struct xen_pcibk_dev_data *dev_data; int status; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: enable MSI\n", pci_name(dev)); + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: enable MSI irq:%d\n", pci_name(dev), dev->irq); status = pci_enable_msi(dev); @@ -158,9 +160,8 @@ int xen_pcibk_enable_msi(struct xen_pcibk_device *pdev, * the local domain's IRQ number. */ op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: MSI: %d\n", pci_name(dev), - op->value); + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: MSI: %d irq: %d\n", pci_name(dev), op->value, dev->irq); dev_data = pci_get_drvdata(dev); if (dev_data) @@ -175,15 +176,13 @@ int xen_pcibk_disable_msi(struct xen_pcibk_device *pdev, { struct xen_pcibk_dev_data *dev_data; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: disable MSI\n", - pci_name(dev)); + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: disable MSI irq:%d\n", pci_name(dev), dev->irq); pci_disable_msi(dev); op->value = dev->irq ? xen_pirq_from_irq(dev->irq) : 0; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: MSI: %d\n", pci_name(dev), - op->value); + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: MSI: %d irq:%d\n", pci_name(dev), op->value, dev->irq); dev_data = pci_get_drvdata(dev); if (dev_data) dev_data->ack_intr = 1; @@ -198,8 +197,8 @@ int xen_pcibk_enable_msix(struct xen_pcibk_device *pdev, int i, result; struct msix_entry *entries; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: enable MSI-X\n", + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: enable MSI-X\n", pci_name(dev)); if (op->value > SH_INFO_MAX_VEC) return -EINVAL; @@ -220,8 +219,8 @@ int xen_pcibk_enable_msix(struct xen_pcibk_device *pdev, if (entries[i].vector) { op->msix_entries[i].vector = xen_pirq_from_irq(entries[i].vector); - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: " \ + /*if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: " \ "MSI-X[%d]: %d\n", pci_name(dev), i, op->msix_entries[i].vector); @@ -246,8 +245,8 @@ int xen_pcibk_disable_msix(struct xen_pcibk_device *pdev, struct pci_dev *dev, struct xen_pci_op *op) { struct xen_pcibk_dev_data *dev_data; - if (unlikely(verbose_request)) - printk(KERN_DEBUG DRV_NAME ": %s: disable MSI-X\n", + /* if (unlikely(verbose_request)) */ + dev_warn(&dev->dev, ": %s: disable MSI-X\n", pci_name(dev)); pci_disable_msix(dev); diff --git a/drivers/xen/xen-pciback/vpci.c b/drivers/xen/xen-pciback/vpci.c index 51afff9..19f177a 100644 --- a/drivers/xen/xen-pciback/vpci.c +++ b/drivers/xen/xen-pciback/vpci.c @@ -5,6 +5,8 @@ * Author: Ryan Wilson */ +#define DEBUG + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c index ad8d30c..5669edc 100644 --- a/drivers/xen/xen-pciback/xenbus.c +++ b/drivers/xen/xen-pciback/xenbus.c @@ -4,6 +4,9 @@ * Author: Ryan Wilson */ + +#define DEBUG + #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include