Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b938e348 authored by Venkat Gopalakrishnan's avatar Venkat Gopalakrishnan
Browse files

scsi: ufs: add 2 lane support



Qcom ufs controller v3.1.0 supports 2 lanes, add support
to configure 2 lanes during phy initialization.

Change-Id: Ifa2bac71b47ce49a6fb31ebb8dd54b243e1cfae1
Signed-off-by: default avatarVenkat Gopalakrishnan <venkatg@codeaurora.org>
Signed-off-by: default avatarSubhash Jadavani <subhashj@codeaurora.org>
parent 19bec737
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -127,10 +127,10 @@ static void ufs_qcom_disable_lane_clks(struct ufs_qcom_host *host)
	if (!host->is_lane_clks_enabled)
		return;

	if (host->hba->lanes_per_direction > 1)
	if (host->tx_l1_sync_clk)
		clk_disable_unprepare(host->tx_l1_sync_clk);
	clk_disable_unprepare(host->tx_l0_sync_clk);
	if (host->hba->lanes_per_direction > 1)
	if (host->rx_l1_sync_clk)
		clk_disable_unprepare(host->rx_l1_sync_clk);
	clk_disable_unprepare(host->rx_l0_sync_clk);

@@ -161,17 +161,14 @@ static int ufs_qcom_enable_lane_clks(struct ufs_qcom_host *host)
		if (err)
			goto disable_tx_l0;

		err = ufs_qcom_host_clk_enable(dev, "tx_lane1_sync_clk",
		/* The tx lane1 clk could be muxed, hence keep this optional */
		if (host->tx_l1_sync_clk)
			ufs_qcom_host_clk_enable(dev, "tx_lane1_sync_clk",
						 host->tx_l1_sync_clk);
		if (err)
			goto disable_rx_l1;
	}
	host->is_lane_clks_enabled = true;
	goto out;

disable_rx_l1:
	if (host->hba->lanes_per_direction > 1)
		clk_disable_unprepare(host->rx_l1_sync_clk);
disable_tx_l0:
	clk_disable_unprepare(host->tx_l0_sync_clk);
disable_rx_l0:
@@ -202,7 +199,8 @@ static int ufs_qcom_init_lane_clks(struct ufs_qcom_host *host)
		if (err)
			goto out;

		err = ufs_qcom_host_clk_get(dev, "tx_lane1_sync_clk",
		/* The tx lane1 clk could be muxed, hence keep this optional */
		ufs_qcom_host_clk_get(dev, "tx_lane1_sync_clk",
					&host->tx_l1_sync_clk);
	}
out: