Re: [PATCH] phy: qcom: qmp: Add debug prints for register writes

Manivannan Sadhasivam
2024-07-31T15:29:37Z

On Wed, Jul 31, 2024 at 03:18:31PM +0300, Dmitry Baryshkov wrote:
> On Wed, Jul 31, 2024 at 04:28:46PM GMT, Vinod Koul wrote:
> > On 30-07-24, 15:33, Manivannan Sadhasivam wrote:
> > > These register prints are useful to validate the init sequence against the
> > > Qcom internal documentation and also to share with the Qcom hw engineers to
> > > debug issues related to PHY.
> > >
> > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > > ---
> > > drivers/phy/qualcomm/phy-qcom-qmp-common.h | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-common.h b/drivers/phy/qualcomm/phy-qcom-qmp-common.h
> > > index 799384210509..e6a6bcfcac28 100644
> > > --- a/drivers/phy/qualcomm/phy-qcom-qmp-common.h
> > > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-common.h
> > > @@ -9,6 +9,7 @@
> > > struct qmp_phy_init_tbl {
> > > unsigned int offset;
> > > unsigned int val;
> > > + char *name;
> > > /*
> > > * mask of lanes for which this register is written
> > > * for cases when second lane needs different values
> > > @@ -20,6 +21,7 @@ struct qmp_phy_init_tbl {
> > > { \
> > > .offset = o, \
> > > .val = v, \
> > > + .name = #o, \
> > > .lane_mask = 0xff, \
> > > }
> > >
> > > @@ -27,6 +29,7 @@ struct qmp_phy_init_tbl {
> > > { \
> > > .offset = o, \
> > > .val = v, \
> > > + .name = #o, \
> > > .lane_mask = l, \
> > > }
> > >
> > > @@ -45,6 +48,7 @@ static inline void qmp_configure_lane(void __iomem *base,
> > > if (!(t->lane_mask & lane_mask))
> > > continue;
> > >
> > > + pr_debug("QMP PHY: Writing: %s --> 0x%02x\n", t->name, t->val);
> >
> > This lgtm, but fails to help when offset _might_ be incorrect, including
> > the offset value as well (not just the name) would be better imo...
>
> Can we please use dev_vdbg instead? Having dev_ part makes sure that we
> can not mismatch PHYs and the sequences. _vdbg is less important, but
> I don't think we want this in the log messages unless absolutely
> required.
>

I'm not a big fan of _vdbg(). IMO, all debug messages are verbose and if
enabled, user intend to see it. So I don't like one more level of
comparmentalization. Also it requires us to feed -DVERBOSE_DEBUG...

But I agree with dev_dbg(). Initially, I thought about it but forgot the fact
that we now have async probe, so there is no guaranteee that these debug prints
will get printed in order.

Sent v3 with dev_dbg(), thanks!

- Mani

--
மணிவண்ணன் சதாசிவம்