From d260c69c83a591eb85c9418748b7f7f91161d101 Mon Sep 17 00:00:00 2001 From: Mallikarjun Kasoju Date: Wed, 22 May 2024 10:30:10 +0000 Subject: [PATCH] ufs: Do not use mphy_force_ls_mode clock mphy_force_ls_mode clock is only T23x chips. Kept condition accordingly to use mphy_force_ls_mode clocks in T23x chips only. Bug 4199271 Signed-off-by: Mallikarjun Kasoju Change-Id: I9b176ec6b1a9fd0ea0d52e857eb011197ef9234e Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3145424 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/scsi/ufs/ufs-tegra-common.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/drivers/scsi/ufs/ufs-tegra-common.c b/drivers/scsi/ufs/ufs-tegra-common.c index ed07b449..dd20d915 100644 --- a/drivers/scsi/ufs/ufs-tegra-common.c +++ b/drivers/scsi/ufs/ufs-tegra-common.c @@ -579,10 +579,12 @@ static int ufs_tegra_init_mphy_lane_clks(struct ufs_tegra_host *host) if (err) goto out; - err = ufs_tegra_host_clk_get(dev, "mphy_force_ls_mode", - &host->mphy_force_ls_mode); - if (err) - goto out; + if (host->soc->chip_id != TEGRA264) { + err = ufs_tegra_host_clk_get(dev, "mphy_force_ls_mode", + &host->mphy_force_ls_mode); + if (err) + goto out; + } err = ufs_tegra_host_clk_get(dev, "mphy_l0_tx_hs_symb_div", &host->mphy_tx_hs_symb_div); @@ -1473,7 +1475,7 @@ static int ufs_tegra_hce_enable_notify(struct ufs_hba *hba, switch (status) { case PRE_CHANGE: - if (tegra_sku_info.platform != TEGRA_PLATFORM_SYSTEM_FPGA) { + if (ufs_tegra->soc->chip_id != TEGRA264) { err = ufs_tegra_host_clk_enable(dev, "mphy_force_ls_mode", ufs_tegra->mphy_force_ls_mode); @@ -1491,7 +1493,7 @@ static int ufs_tegra_hce_enable_notify(struct ufs_hba *hba, UFSHC_AUX_UFSHC_SW_EN_CLK_SLCG_0); ufs_tegra_ufs_aux_prog(ufs_tegra); ufs_tegra_set_clk_div(hba); - if (tegra_sku_info.platform != TEGRA_PLATFORM_SYSTEM_FPGA) + if (ufs_tegra->soc->chip_id != TEGRA264) clk_disable_unprepare(ufs_tegra->mphy_force_ls_mode); if (ufs_tegra->soc->chip_id >= TEGRA234) ufs_tegra_ufs_mmio_axi(hba); @@ -2039,12 +2041,14 @@ static int ufs_tegra_init(struct ufs_hba *hba) err = ufs_tegra_init_uphy_pll3(ufs_tegra); if (err) goto out_host_free; - err = ufs_tegra_host_clk_enable(dev, "mphy_force_ls_mode", + if (ufs_tegra->soc->chip_id != TEGRA264) { + err = ufs_tegra_host_clk_enable(dev, "mphy_force_ls_mode", ufs_tegra->mphy_force_ls_mode); - if (err) - goto out_host_free; - usleep_range(1000, 2000); - clk_disable_unprepare(ufs_tegra->mphy_force_ls_mode); + if (err) + goto out_host_free; + usleep_range(1000, 2000); + clk_disable_unprepare(ufs_tegra->mphy_force_ls_mode); + } usleep_range(1000, 2000); enable_ufs_clk: