[RFC][PATCH 8.5/9] PCI PM: Add diagnostic statements to PCI device PM initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Also, it seems reasonable to add some diagnostic printk()s to pci_pm_init().

Thanks,
Rafael

---
From: Rafael J. Wysocki <rjw@xxxxxxx>

PCI PM: Add diagnostic statements to PCI device PM initialization

Add two diagnostic printk()s to pci_pm_init() allowing us to check
in the kernel log which PCI devices support generation of PME# and
from what states as well as which PCI devices can generate wake-up
events with the help of the platform.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
 drivers/pci/pci.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Index: linux-next/drivers/pci/pci.c
===================================================================
--- linux-next.orig/drivers/pci/pci.c
+++ linux-next/drivers/pci/pci.c
@@ -1128,14 +1128,24 @@ void pci_pm_init(struct pci_dev *dev)
 		/* Check device's ability to generate PME# */
 		pci_read_config_word(dev, pm + PCI_PM_PMC, &pmc);
 		if (pmc & PCI_PM_CAP_PME_MASK) {
+			printk(KERN_INFO "PCI: Device %s can generate PME# from"
+				"%s%s%s%s%s\n", pci_name(dev),
+				(pmc & PCI_PM_CAP_PME_D0) ? " D0" : "",
+				(pmc & PCI_PM_CAP_PME_D1) ? " D1" : "",
+				(pmc & PCI_PM_CAP_PME_D2) ? " D2" : "",
+				(pmc & PCI_PM_CAP_PME_D3) ? " D3hot" : "",
+				(pmc & PCI_PM_CAP_PME_D3cold) ? " D3cold" : "");
 			can_wakeup = true;
 			/* Disable the PME# generation capability */
 			pci_pme_active(dev, pm, false);
 		}
 	}
 
-	if (platform_pci_can_wakeup(dev))
+	if (platform_pci_can_wakeup(dev)) {
+		printk(KERN_INFO "PCI: Device %s can generate system wake-up "
+			"events through the platform\n", pci_name(dev));
 		can_wakeup = true;
+	}
 
 	device_init_wakeup(&dev->dev, can_wakeup);
 }
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux