]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Wed, 5 Mar 2025 13:34:13 +0000 (14:34 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 11 Mar 2025 01:35:54 +0000 (21:35 -0400)
Extract specific PHY setting of the 0x10a[df] registers into a new
function.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/110eafd1ee24f9db0285a5e2bca224e35962268a.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-renesas.c

index 59e35ec4955f19af750ef31c775013edc36b22c4..e4510e9b1a2cb195be747e5c8756ec9922d2f705 100644 (file)
@@ -135,6 +135,16 @@ static void ufs_renesas_indirect_poll(struct ufs_hba *hba, u32 gpio, u32 addr,
        ufs_renesas_write(hba, 0xf0, 0);
 }
 
+static void ufs_renesas_write_phy_10ad_10af(struct ufs_hba *hba,
+                                           u32 data_10ad, u32 data_10af)
+{
+       ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
+       ufs_renesas_write_phy(hba, 0x10ad, data_10ad);
+       ufs_renesas_write_phy(hba, 0x10af, data_10af);
+       ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
+       ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
+}
+
 static void ufs_renesas_pre_init(struct ufs_hba *hba)
 {
        u32 timer_val;
@@ -209,29 +219,10 @@ static void ufs_renesas_pre_init(struct ufs_hba *hba)
        ufs_renesas_write_phy(hba, 0x4000, 0x0000);
        ufs_renesas_write_phy(hba, 0x4001, 0x0000);
 
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ad, 0x0000);
-       ufs_renesas_write_phy(hba, 0x10af, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
-
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ad, 0x0000);
-       ufs_renesas_write_phy(hba, 0x10af, 0x0002);
-       ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
-
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ad, 0x0080);
-       ufs_renesas_write_phy(hba, 0x10af, 0x0000);
-       ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
-
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ad, 0x0080);
-       ufs_renesas_write_phy(hba, 0x10af, 0x001a);
-       ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
-       ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
+       ufs_renesas_write_phy_10ad_10af(hba, 0x0000, 0x0001);
+       ufs_renesas_write_phy_10ad_10af(hba, 0x0000, 0x0002);
+       ufs_renesas_write_phy_10ad_10af(hba, 0x0080, 0x0000);
+       ufs_renesas_write_phy_10ad_10af(hba, 0x0080, 0x001a);
 
        ufs_renesas_indirect_write(hba, 7, 0x70, 0x0016);
        ufs_renesas_indirect_write(hba, 7, 0x71, 0x0016);