Commit dadcf995 authored by Stephen Boyd's avatar Stephen Boyd Committed by Vinod Koul
Browse files

phy: qcom-qmp: Move phy mode into struct qmp_phy



The phy mode pertains to the phy itself, i.e. 'struct qmp_phy', not the
wrapper, i.e. 'struct qcom_qmp'. Move the phy mode into the phy
structure to more accurately reflect what is going on. This also cleans
up 'struct qcom_qmp' so that it can eventually be the place where qmp
wrapper wide data is located, paving the way for the USB3+DP combo phy.

Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Cc: Jeykumar Sankaran <jsanka@codeaurora.org>
Cc: Chandan Uddaraju <chandanu@codeaurora.org>
Cc: Vara Reddy <varar@codeaurora.org>
Cc: Tanmay Shah <tanmay@codeaurora.org>
Cc: Manu Gautam <mgautam@codeaurora.org>
Cc: Sandeep Maheswaram <sanm@codeaurora.org>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Jonathan Marek <jonathan@marek.ca>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Rob Clark <robdclark@chromium.org>
Link: https://lore.kernel.org/r/20200916231202.3637932-3-swboyd@chromium.org


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 724fabf5
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -1811,6 +1811,7 @@ struct qmp_phy_cfg {
 * @index: lane index
 * @qmp: QMP phy to which this lane belongs
 * @lane_rst: lane's reset controller
 * @mode: current PHY mode
 */
struct qmp_phy {
	struct phy *phy;
@@ -1824,6 +1825,7 @@ struct qmp_phy {
	unsigned int index;
	struct qcom_qmp *qmp;
	struct reset_control *lane_rst;
	enum phy_mode mode;
};

/**
@@ -1842,7 +1844,6 @@ struct qmp_phy {
 * @phy_mutex: mutex lock for PHY common block initialization
 * @init_count: phy common block initialization count
 * @phy_initialized: indicate if PHY has been initialized
 * @mode: current PHY mode
 * @ufs_reset: optional UFS PHY reset handle
 */
struct qcom_qmp {
@@ -1860,7 +1861,6 @@ struct qcom_qmp {
	struct mutex phy_mutex;
	int init_count;
	bool phy_initialized;
	enum phy_mode mode;

	struct reset_control *ufs_reset;
};
@@ -2803,9 +2803,8 @@ static int qcom_qmp_phy_set_mode(struct phy *phy,
				 enum phy_mode mode, int submode)
{
	struct qmp_phy *qphy = phy_get_drvdata(phy);
	struct qcom_qmp *qmp = qphy->qmp;

	qmp->mode = mode;
	qphy->mode = mode;

	return 0;
}
@@ -2818,8 +2817,8 @@ static void qcom_qmp_phy_enable_autonomous_mode(struct qmp_phy *qphy)
	void __iomem *pcs_misc = qphy->pcs_misc;
	u32 intr_mask;

	if (qmp->mode == PHY_MODE_USB_HOST_SS ||
	    qmp->mode == PHY_MODE_USB_DEVICE_SS)
	if (qphy->mode == PHY_MODE_USB_HOST_SS ||
	    qphy->mode == PHY_MODE_USB_DEVICE_SS)
		intr_mask = ARCVR_DTCT_EN | ALFPS_DTCT_EN;
	else
		intr_mask = ARCVR_DTCT_EN | ARCVR_DTCT_EVENT_SEL;
@@ -2865,7 +2864,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_suspend(struct device *dev)
	struct qmp_phy *qphy = qmp->phys[0];
	const struct qmp_phy_cfg *cfg = qmp->cfg;

	dev_vdbg(dev, "Suspending QMP phy, mode:%d\n", qmp->mode);
	dev_vdbg(dev, "Suspending QMP phy, mode:%d\n", qphy->mode);

	/* Supported only for USB3 PHY */
	if (cfg->type != PHY_TYPE_USB3)
@@ -2891,7 +2890,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_resume(struct device *dev)
	const struct qmp_phy_cfg *cfg = qmp->cfg;
	int ret = 0;

	dev_vdbg(dev, "Resuming QMP phy, mode:%d\n", qmp->mode);
	dev_vdbg(dev, "Resuming QMP phy, mode:%d\n", qphy->mode);

	/* Supported only for USB3 PHY */
	if (cfg->type != PHY_TYPE_USB3)