Message ID | 20200826024711.220080-1-swboyd@chromium.org |
---|---|
Headers | show |
Series | Support qcom USB3+DP combo phy (or type-c phy) | expand |
On Tue 25 Aug 21:47 CDT 2020, Stephen Boyd wrote: > We already track if any phy inside the qmp wrapper has been initialized > by means of the struct qcom_qmp::init_count member. Let's drop the > duplicate 'initialized' member to simplify the code a bit. > > 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: Bjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Regards, Bjorn > 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> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > --- > drivers/phy/qualcomm/phy-qcom-qmp.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c > index 7ee9e966dc6d..4a23ba9361b3 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c > @@ -1844,7 +1844,6 @@ struct qmp_phy { > * @phys: array of per-lane phy descriptors > * @phy_mutex: mutex lock for PHY common block initialization > * @init_count: phy common block initialization count > - * @phy_initialized: indicate if PHY has been initialized > * @ufs_reset: optional UFS PHY reset handle > */ > struct qcom_qmp { > @@ -1861,7 +1860,6 @@ struct qcom_qmp { > > struct mutex phy_mutex; > int init_count; > - bool phy_initialized; > > struct reset_control *ufs_reset; > }; > @@ -2748,7 +2746,6 @@ static int qcom_qmp_phy_enable(struct phy *phy) > dev_err(qmp->dev, "phy initialization timed-out\n"); > goto err_pcs_ready; > } > - qmp->phy_initialized = true; > return 0; > > err_pcs_ready: > @@ -2792,8 +2789,6 @@ static int qcom_qmp_phy_disable(struct phy *phy) > > qcom_qmp_phy_com_exit(qmp); > > - qmp->phy_initialized = false; > - > return 0; > } > > @@ -2868,7 +2863,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_suspend(struct device *dev) > if (cfg->type != PHY_TYPE_USB3) > return 0; > > - if (!qmp->phy_initialized) { > + if (!qmp->init_count) { > dev_vdbg(dev, "PHY not initialized, bailing out\n"); > return 0; > } > @@ -2894,7 +2889,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_resume(struct device *dev) > if (cfg->type != PHY_TYPE_USB3) > return 0; > > - if (!qmp->phy_initialized) { > + if (!qmp->init_count) { > dev_vdbg(dev, "PHY not initialized, bailing out\n"); > return 0; > } > -- > Sent by a computer, using git, on the internet >
On Tue 25 Aug 21:47 CDT 2020, Stephen Boyd wrote: > The dp_com resource is always at index 1 according to the dts files in > the kernel. Get this resource by index so that we don't need to make > future additions to the DT binding use 'reg-names'. > Afaict the DT binding for the USB/DP phy defines that there should be a reg name of "dp_com" and the current dts files all specifies this. Am I missing something? PS. Why isn't this a devm_platform_ioremap_resource{,_byname}()? Regards, Bjorn > 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: Bjorn Andersson <bjorn.andersson@linaro.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> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > --- > drivers/phy/qualcomm/phy-qcom-qmp.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c > index 40c051813c34..76d7a9e80f04 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c > @@ -3266,8 +3266,7 @@ static int qcom_qmp_phy_probe(struct platform_device *pdev) > > /* per PHY dp_com; if PHY has dp_com control block */ > if (cfg->has_phy_dp_com_ctrl) { > - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > - "dp_com"); > + res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > base = devm_ioremap_resource(dev, res); > if (IS_ERR(base)) > return PTR_ERR(base); > -- > Sent by a computer, using git, on the internet >
Quoting Bjorn Andersson (2020-08-25 21:36:16) > On Tue 25 Aug 21:47 CDT 2020, Stephen Boyd wrote: > > > The dp_com resource is always at index 1 according to the dts files in > > the kernel. Get this resource by index so that we don't need to make > > future additions to the DT binding use 'reg-names'. > > > > Afaict the DT binding for the USB/DP phy defines that there should be a > reg name of "dp_com" and the current dts files all specifies this. Am I > missing something? Yes the binding enforces this but this patch is removing that enforcement and instead mandating that dp_com is always at index 1 (i.e. the second one) so that we can add the DP serdes region directly after and avoid adding yet another reg-names property. I changed the binding for this usb3-dp phy compatible to make reg-names optional as well. I don't see any gain from using reg-names. > > PS. Why isn't this a devm_platform_ioremap_resource{,_byname}()? Sure. I'll roll that into this patch.
On Wed 26 Aug 16:32 CDT 2020, Stephen Boyd wrote: > Quoting Bjorn Andersson (2020-08-25 21:36:16) > > On Tue 25 Aug 21:47 CDT 2020, Stephen Boyd wrote: > > > > > The dp_com resource is always at index 1 according to the dts files in > > > the kernel. Get this resource by index so that we don't need to make > > > future additions to the DT binding use 'reg-names'. > > > > > > > Afaict the DT binding for the USB/DP phy defines that there should be a > > reg name of "dp_com" and the current dts files all specifies this. Am I > > missing something? > > Yes the binding enforces this but this patch is removing that > enforcement and instead mandating that dp_com is always at index 1 (i.e. > the second one) so that we can add the DP serdes region directly after > and avoid adding yet another reg-names property. I changed the binding > for this usb3-dp phy compatible to make reg-names optional as well. I > don't see any gain from using reg-names. > Thanks for the explanation, I don't have any objections to this. > > > > PS. Why isn't this a devm_platform_ioremap_resource{,_byname}()? > > Sure. I'll roll that into this patch. Thanks, Bjorn