Subject: RE: [PATCH v5 phy-next 09/27] scsi: ufs: exynos: stop poking into struct phy guts

From: "Alim Akhtar" <[email-masked]>
Date: Mon, 23 Mar 2026 22:56:51 +0530

HI Vladimir,

> -----Original Message-----
> From: Vladimir Oltean <[email-masked]>
> Sent: Friday, March 20, 2026 4:02 AM
> To: [email-masked]
> Cc: Vinod Koul <[email-masked]>; Neil Armstrong
> <[email-masked]>; [email-masked];
> [email-masked]; [email-masked];
> [email-masked]; [email-masked]; linux-
> [email-masked]; [email-masked]; linux-
> [email-masked]; [email-masked]; linux-
> [email-masked]; [email-masked]; linux-
> [email-masked]; [email-masked];
linux-samsung-
> [email-masked]; [email-masked];
[email-masked];
> [email-masked]; [email-masked];
> [email-masked]; [email-masked];
> [email-masked]; Bart Van Assche <[email-masked]>;
> Alim Akhtar <[email-masked]>; Peter Griffin
> <[email-masked]>; James E.J. Bottomley
> <[email-masked]>; Martin K. Petersen
> <[email-masked]>; Krzysztof Kozlowski <[email-masked]>;
> Chanho Park <[email-masked]>
> Subject: [PATCH v5 phy-next 09/27] scsi: ufs: exynos: stop poking into
struct
> phy guts
> 
> The Exynos host controller driver is clearly a PHY consumer (gets the
> ufs->phy using devm_phy_get()), but pokes into the guts of struct phy
> to get the generic_phy->power_count.
> 
> The UFS core (specifically ufshcd_link_startup()) may call the variant
> operation exynos_ufs_pre_link() -> exynos_ufs_phy_init() multiple times if
> the link startup fails and needs to be retried.
> 
> However ufs-exynos shouldn't be doing what it's doing, i.e. looking at the
> generic_phy->power_count, because in the general sense of the API, a
> single Generic PHY may have multiple consumers. If ufs-exynos looks at
> generic_phy->power_count, there's no guarantee that this ufs-exynos
> instance is the one who previously bumped that power count. So it may be
> powering down the PHY on behalf of another consumer.
> 
> The correct way in which this should be handled is ufs-exynos should
> *remember* whether it has initialized and powered up the PHY before, and
> power it down during link retries. Not rely on the power_count (which,
btw,
> on the writer side is modified under &phy->mutex, but on the reader side
is
> accessed unlocked). This is a discouraged pattern even if here it doesn't
> cause functional problems.
> 
> Signed-off-by: Vladimir Oltean <[email-masked]>
> Reviewed-by: Bart Van Assche <[email-masked]>
> ---
Thanks for the patch
Acked-by: Alim Akhtar <[email-masked]>

Tested this patch for basic UFS functionality, UFS still works. 
Feel free to add
Tested-by: Alim Akhtar <[email-masked]>