Re: [PATCH v1 2/9] phy: qcom-qmp: Move phy mode into struct qmp_phy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 25 Aug 21:47 CDT 2020, Stephen Boyd wrote:

> 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.
> 
> Cc: Jeykumar Sankaran <jsanka@xxxxxxxxxxxxxx>
> Cc: Chandan Uddaraju <chandanu@xxxxxxxxxxxxxx>
> Cc: Vara Reddy <varar@xxxxxxxxxxxxxx>
> Cc: Tanmay Shah <tanmay@xxxxxxxxxxxxxx>
> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

Regards,
Bjorn

> Cc: Manu Gautam <mgautam@xxxxxxxxxxxxxx>
> Cc: Sandeep Maheswaram <sanm@xxxxxxxxxxxxxx>
> Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx>
> Cc: Jonathan Marek <jonathan@xxxxxxxx>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> Cc: Rob Clark <robdclark@xxxxxxxxxxxx>
> Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
>  drivers/phy/qualcomm/phy-qcom-qmp.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c
> index 562053ce9455..7ee9e966dc6d 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c
> @@ -1812,6 +1812,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;
> @@ -1825,6 +1826,7 @@ struct qmp_phy {
>  	unsigned int index;
>  	struct qcom_qmp *qmp;
>  	struct reset_control *lane_rst;
> +	enum phy_mode mode;
>  };
>  
>  /**
> @@ -1843,7 +1845,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 {
> @@ -1861,7 +1862,6 @@ struct qcom_qmp {
>  	struct mutex phy_mutex;
>  	int init_count;
>  	bool phy_initialized;
> -	enum phy_mode mode;
>  
>  	struct reset_control *ufs_reset;
>  };
> @@ -2801,9 +2801,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;
>  }
> @@ -2816,8 +2815,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;
> @@ -2863,7 +2862,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)
> @@ -2889,7 +2888,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)
> -- 
> Sent by a computer, using git, on the internet
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux