[PATCH 03/10] ufs: host: Add common Hibern8 TX FSM polling helper
Larisa Ileana Grigore
larisa.grigore at oss.nxp.com
Fri Aug 28 04:13:32 PDT 2026
On 8/27/2026 6:00 PM, Stanley Jhu wrote:
> [You don't often get email from stanleyjhu at google.com. 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
More information about the linux-arm-kernel
mailing list