All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 1/2] PCI: Add a helper to check Power Resource Requirements _PR3 existence
@ 2019-10-18  7:38 ` Kai-Heng Feng
  0 siblings, 0 replies; 19+ messages in thread
From: Kai-Heng Feng @ 2019-10-18  7:38 UTC (permalink / raw)
  To: bhelgaas, tiwai; +Cc: linux-pci, alsa-devel, linux-kernel, Kai-Heng Feng

A driver may want to know the existence of _PR3, to choose different
runtime suspend behavior. A user will be add in next patch.

This is mostly the same as nouveau_pr3_present().

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
v6:
- Only define the function when CONFIG_ACPI is set.
v5:
- Add wording suggestion from Bjorn.
v4:
- Let caller to find its upstream port device.

 drivers/pci/pci.c   | 18 ++++++++++++++++++
 include/linux/pci.h |  2 ++
 2 files changed, 20 insertions(+)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index e7982af9a5d8..1df99d9e350e 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -5856,6 +5856,24 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode,
 	return 0;
 }
 
+#ifdef CONFIG_ACPI
+bool pci_pr3_present(struct pci_dev *pdev)
+{
+	struct acpi_device *adev;
+
+	if (acpi_disabled)
+		return false;
+
+	adev = ACPI_COMPANION(&pdev->dev);
+	if (!adev)
+		return false;
+
+	return adev->power.flags.power_resources &&
+		acpi_has_method(adev->handle, "_PR3");
+}
+EXPORT_SYMBOL_GPL(pci_pr3_present);
+#endif
+
 /**
  * pci_add_dma_alias - Add a DMA devfn alias for a device
  * @dev: the PCI device for which alias is added
diff --git a/include/linux/pci.h b/include/linux/pci.h
index f9088c89a534..1d15c5d49cdd 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2310,9 +2310,11 @@ struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus);
 
 void
 pci_msi_register_fwnode_provider(struct fwnode_handle *(*fn)(struct device *));
+bool pci_pr3_present(struct pci_dev *pdev);
 #else
 static inline struct irq_domain *
 pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) { return NULL; }
+static bool pci_pr3_present(struct pci_dev *pdev) { return false; }
 #endif
 
 #ifdef CONFIG_EEH
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-01-12 12:37 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18  7:38 [PATCH v6 1/2] PCI: Add a helper to check Power Resource Requirements _PR3 existence Kai-Heng Feng
2019-10-18  7:38 ` [alsa-devel] " Kai-Heng Feng
2019-10-18  7:38 ` [PATCH v6 2/2] ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver Kai-Heng Feng
2019-10-18  7:38   ` [alsa-devel] " Kai-Heng Feng
2020-01-10  9:43   ` Jaroslav Kysela
2020-01-10  9:43     ` Jaroslav Kysela
2020-01-10  9:56     ` Takashi Iwai
2020-01-10  9:56       ` Takashi Iwai
2020-01-10 10:31       ` Jaroslav Kysela
2020-01-10 10:31         ` Jaroslav Kysela
2020-01-10 10:31         ` Jaroslav Kysela
2019-10-18  8:18 ` [PATCH v6 1/2] PCI: Add a helper to check Power Resource Requirements _PR3 existence Takashi Iwai
2019-10-18  8:18   ` [alsa-devel] " Takashi Iwai
2019-10-18  8:30   ` Kai-Heng Feng
2019-10-18  8:30     ` [alsa-devel] " Kai-Heng Feng
2019-10-18  8:45     ` Takashi Iwai
2019-10-18  8:45       ` [alsa-devel] " Takashi Iwai
2019-10-21 13:15       ` Takashi Iwai
2019-10-21 13:15         ` [alsa-devel] " Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.