From: Shawn Lin <shawn.lin@rock-chips.com>
To: Heiko Stuebner <heiko@sntech.de>,
Manivannan Sadhasivam <mani@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
linux-rockchip@lists.infradead.org,
Niklas Cassel <cassel@kernel.org>,
linux-pci@vger.kernel.org, Shawn Lin <shawn.lin@rock-chips.com>
Subject: [PATCH 1/4] PCI: of: Add of_pci_clkreq_present()
Date: Tue, 21 Oct 2025 15:48:24 +0800 [thread overview]
Message-ID: <1761032907-154829-2-git-send-email-shawn.lin@rock-chips.com> (raw)
In-Reply-To: <1761032907-154829-1-git-send-email-shawn.lin@rock-chips.com>
of_pci_clkreq_present() is used by host drivers to decide whether the clkreq#
is properly connected and could enable L1.1/L1.2 support.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---
drivers/pci/of.c | 18 ++++++++++++++++++
drivers/pci/pci.h | 6 ++++++
2 files changed, 24 insertions(+)
diff --git a/drivers/pci/of.c b/drivers/pci/of.c
index 3579265f1198..52c6d365083b 100644
--- a/drivers/pci/of.c
+++ b/drivers/pci/of.c
@@ -1010,3 +1010,21 @@ int of_pci_get_equalization_presets(struct device *dev,
return 0;
}
EXPORT_SYMBOL_GPL(of_pci_get_equalization_presets);
+
+/**
+ * of_pci_clkreq_present() - Check if the "supports-clkreq" is present
+ * @np: Device tree node
+ *
+ * If the property is present, it means CLKREQ# is properly connected
+ * and the hardware is ready to support L1.1/L1.2
+ *
+ * Return: true if the property is available, false otherwise.
+ */
+bool of_pci_clkreq_present(struct device_node *np)
+{
+ if (!np)
+ return false;
+
+ return of_property_present(np, "supports-clkreq");
+}
+EXPORT_SYMBOL_GPL(of_pci_clkreq_present);
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 4492b809094b..2421e39e6e48 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -1061,6 +1061,7 @@ bool of_pci_supply_present(struct device_node *np);
int of_pci_get_equalization_presets(struct device *dev,
struct pci_eq_presets *presets,
int num_lanes);
+bool of_pci_clkreq_present(struct device_node *np);
#else
static inline int
of_get_pci_domain_nr(struct device_node *node)
@@ -1106,6 +1107,11 @@ static inline bool of_pci_supply_present(struct device_node *np)
return false;
}
+static inline bool of_pci_clkreq_present(struct device_node *np)
+{
+ return false;
+}
+
static inline int of_pci_get_equalization_presets(struct device *dev,
struct pci_eq_presets *presets,
int num_lanes)
--
2.43.0
next prev parent reply other threads:[~2025-10-21 7:49 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 7:48 [PATCH 0/4] Add L1 substates support for Rockchip platforms Shawn Lin
2025-10-21 7:48 ` Shawn Lin [this message]
2025-10-21 16:16 ` [PATCH 1/4] PCI: of: Add of_pci_clkreq_present() Frank Li
2025-10-22 9:17 ` Shawn Lin
2025-10-22 10:02 ` Manivannan Sadhasivam
2025-10-22 10:13 ` Shawn Lin
2025-10-22 10:29 ` Manivannan Sadhasivam
2025-10-22 16:22 ` Bjorn Helgaas
2025-10-22 17:35 ` Manivannan Sadhasivam
2025-10-22 18:14 ` Bjorn Helgaas
2025-10-21 7:48 ` [PATCH 2/4] PCI: tegra194: Use of_pci_clkreq_present() instead Shawn Lin
2025-10-21 7:48 ` [PATCH 3/4] PCI: dw-rockchip: Add L1sub support Shawn Lin
2025-10-21 8:01 ` Hans Zhang
2025-10-21 8:42 ` Shawn Lin
2025-10-21 9:03 ` Hans Zhang
2025-10-22 10:34 ` Manivannan Sadhasivam
2025-10-21 7:48 ` [PATCH 4/4] arm64: dts: rockchip: Add PCIe clkreq stuff for RK3588 EVB1 Shawn Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1761032907-154829-2-git-send-email-shawn.lin@rock-chips.com \
--to=shawn.lin@rock-chips.com \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=heiko@sntech.de \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mani@kernel.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).