Re: [PATCH 03/10] ufs: host: Add common Hibern8 TX FSM polling helper
From: Larisa Ileana Grigore
Date: Fri Aug 28 2026 - 07:13:55 EST
On 8/27/2026 6:00 PM, Stanley Jhu wrote:
[You don't often get email from stanleyjhu@xxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
On Wed, Aug 26, 2026 at 03:40:41PM +0200, Larisa Grigore wrote:
[...]
diff --git a/drivers/ufs/host/ufshcd-pltfrm.c b/drivers/ufs/host/ufshcd-pltfrm.c
index c2dafb583cf5..034ee988924a 100644
--- a/drivers/ufs/host/ufshcd-pltfrm.c
+++ b/drivers/ufs/host/ufshcd-pltfrm.c
@@ -563,6 +564,84 @@ void ufshcd_pltfrm_remove(struct platform_device *pdev)
}
EXPORT_SYMBOL_GPL(ufshcd_pltfrm_remove);
+/**
+ * ufshcd_check_hibern8 - Check if all TX lanes entered Hibern8 state
+ * @hba: host controller instance
+ * @num_lanes: number of TX lanes to check
+ * @timeout_ms: timeout in milliseconds for all lanes
+ *
+ * Return: 0 on success, negative errno on failure.
+ */
+int ufshcd_check_hibern8(struct ufs_hba *hba, unsigned int num_lanes,
+ unsigned int timeout_ms)
Hi Larisa,
Thanks for the great cleanup!
Would you consider moving this helper to drivers/ufs/core/ufshcd.c and
renaming it to ufshcd_dme_check_tx_hibern8()?
Since ufshcd-pltfrm.c primarily handles platform device glue and DT parsing,
polling M-PHY states via DME commands would fit more naturally in the UFS
core. This also keeps layering clean and allows non-platform controllers to
reuse it.
Additionally, the ufshcd_dme_ prefix would align nicely with existing DME
conventions in ufshcd.c while avoiding potential confusion with
ufshcd_is_link_hibern8().
Thank you,
Stanley
Thank you for the suggestion, Stanley!
Sure, that makes sense. I'll move it to ufshcd.c and rename it to ufshcd_dme_check_tx_hibern8() in v2.
Regards,
Larisa