From 07959ef517b853e834eadd0647d3860252af8f99 Mon Sep 17 00:00:00 2001 From: Peter Griffin Date: Fri, 9 Jan 2026 11:40:14 +0000 Subject: [PATCH] scsi: ufs: exynos: Call phy_notify_state() from hibern8 callbacks Notify the UFS phy of the hibern8 link state so that it can program the appropriate values. Signed-off-by: Peter Griffin Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260109-ufs-exynos-phy_notify_pmstate-v3-1-7eb692e271af@linaro.org Signed-off-by: Martin K. Petersen --- drivers/ufs/host/ufs-exynos.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c index 70d195179ebaa..76fee3a79c77b 100644 --- a/drivers/ufs/host/ufs-exynos.c +++ b/drivers/ufs/host/ufs-exynos.c @@ -1568,12 +1568,17 @@ static void exynos_ufs_pre_hibern8(struct ufs_hba *hba, enum uic_cmd_dme cmd) { struct exynos_ufs *ufs = ufshcd_get_variant(hba); struct exynos_ufs_uic_attr *attr = ufs->drv_data->uic_attr; + static const union phy_notify phystate = { + .ufs_state = PHY_UFS_HIBERN8_EXIT + }; if (cmd == UIC_CMD_DME_HIBER_EXIT) { if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL) exynos_ufs_disable_auto_ctrl_hcc(ufs); exynos_ufs_ungate_clks(ufs); + phy_notify_state(ufs->phy, phystate); + if (ufs->opts & EXYNOS_UFS_OPT_USE_SW_HIBERN8_TIMER) { static const unsigned int granularity_tbl[] = { 1, 4, 8, 16, 32, 100 @@ -1600,12 +1605,17 @@ static void exynos_ufs_pre_hibern8(struct ufs_hba *hba, enum uic_cmd_dme cmd) static void exynos_ufs_post_hibern8(struct ufs_hba *hba, enum uic_cmd_dme cmd) { struct exynos_ufs *ufs = ufshcd_get_variant(hba); + static const union phy_notify phystate = { + .ufs_state = PHY_UFS_HIBERN8_ENTER + }; if (cmd == UIC_CMD_DME_HIBER_ENTER) { ufs->entry_hibern8_t = ktime_get(); exynos_ufs_gate_clks(ufs); if (ufs->opts & EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL) exynos_ufs_enable_auto_ctrl_hcc(ufs); + + phy_notify_state(ufs->phy, phystate); } } -- 2.47.3