[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