From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Yinbo Zhu <yinbo.zhu@nxp.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
Xiaobo Xie <xiaobo.xie@nxp.com>,
Jerry Huang <jerry.huang@nxp.com>, Ran Wang <ran.wang_1@nxp.com>,
Ramneek Mehresh <ramneek.mehresh@freescale.com>,
Nikhil Badola <nikhil.badola@freescale.com>,
Suresh Gupta <suresh.gupta@freescale.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Suresh Gupta <B42813@freescale.com>
Subject: Re: [PATCH v4 2/5] usb: phy: Workaround for USB erratum-A005728
Date: Wed, 8 May 2019 08:41:38 +0200 [thread overview]
Message-ID: <20190508064138.GD14085@kroah.com> (raw)
In-Reply-To: <VI1PR04MB4158EB9135C9536D612F0967E9320@VI1PR04MB4158.eurprd04.prod.outlook.com>
On Wed, May 08, 2019 at 03:26:09AM +0000, Yinbo Zhu wrote:
>
>
> > -----Original Message-----
> > From: Alan Stern [mailto:stern@rowland.harvard.edu]
> > Sent: 2019年1月28日 23:37
> > To: Yinbo Zhu <yinbo.zhu@nxp.com>
> > Cc: Xiaobo Xie <xiaobo.xie@nxp.com>; Jerry Huang <jerry.huang@nxp.com>;
> > Ran Wang <ran.wang_1@nxp.com>; Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org>; Ramneek Mehresh
> > <ramneek.mehresh@freescale.com>; Nikhil Badola
> > <nikhil.badola@freescale.com>; Suresh Gupta <suresh.gupta@freescale.com>;
> > linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org; Suresh Gupta
> > <B42813@freescale.com>
> > Subject: Re: [PATCH v4 2/5] usb: phy: Workaround for USB erratum-A005728
> >
> > On Fri, 25 Jan 2019, Yinbo Zhu wrote:
> >
> > > From: Suresh Gupta <B42813@freescale.com>
> > >
> > > PHY_CLK_VALID bit for UTMI PHY in USBDR does not set even if PHY is
> > > providing valid clock. Workaround for this involves resetting of PHY
> > > and check PHY_CLK_VALID bit multiple times. If PHY_CLK_VALID bit is
> > > still not set even after 5 retries, it would be safe to deaclare that
> > > PHY clock is not available.
> > > This erratum is applicable for USBDR less then ver 2.4.
> > >
> > > Signed-off-by: Suresh Gupta <B42813@freescale.com>
> > > Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
> > > ---
> > > Change in v4:
> > > Incorrect indentation of the continuation line.
> > > replace pr_err with dev_err.
> > >
> > > drivers/usb/host/ehci-fsl.c | 38
> > +++++++++++++++++++++++++++-----------
> > > drivers/usb/host/ehci-fsl.h | 3 +++
> > > 2 files changed, 30 insertions(+), 11 deletions(-)
> > >
> > > diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> > > index 38674b7..373a816 100644
> > > --- a/drivers/usb/host/ehci-fsl.c
> > > +++ b/drivers/usb/host/ehci-fsl.c
> > > @@ -183,6 +183,17 @@ static int fsl_ehci_drv_probe(struct platform_device
> > *pdev)
> > > return retval;
> > > }
> > >
> > > +static bool usb_phy_clk_valid(struct usb_hcd *hcd) {
> > > + void __iomem *non_ehci = hcd->regs;
> > > + bool ret = true;
> > > +
> > > + if (!(ioread32be(non_ehci + FSL_SOC_USB_CTRL) & PHY_CLK_VALID))
> > > + ret = false;
> > > +
> > > + return ret;
> > > +}
> > > +
> > > static int ehci_fsl_setup_phy(struct usb_hcd *hcd,
> > > enum fsl_usb2_phy_modes phy_mode,
> > > unsigned int port_offset)
> > > @@ -226,6 +237,17 @@ static int ehci_fsl_setup_phy(struct usb_hcd *hcd,
> > > /* fall through */
> > > case FSL_USB2_PHY_UTMI:
> > > case FSL_USB2_PHY_UTMI_DUAL:
> > > + /* PHY_CLK_VALID bit is de-featured from all controller
> > > + * versions below 2.4 and is to be checked only for
> > > + * internal UTMI phy
> > > + */
> > > + if (pdata->controller_ver > FSL_USB_VER_2_4 &&
> > > + pdata->have_sysif_regs && !usb_phy_clk_valid(hcd)) {
> > > + dev_err(dev,
> > > + "%s: USB PHY clock invalid\n", dev_name(dev));
> >
> > This looks silly; it prints the device name twice (once because that's what
> > dev_err() does, and then again because you explicitly told it to print the device
> > name).
> >
> > Look at how dev_err() is used in other parts of the driver and do the same thing.
> >
> > > + return -EINVAL;
> > > + }
> > > +
> > > if (pdata->have_sysif_regs && pdata->controller_ver) {
> > > /* controller version 1.6 or above */
> > > tmp = ioread32be(non_ehci + FSL_SOC_USB_CTRL); @@ -249,17
> > +271,11
> > > @@ static int ehci_fsl_setup_phy(struct usb_hcd *hcd,
> > > break;
> > > }
> > >
> > > - /*
> > > - * check PHY_CLK_VALID to determine phy clock presence before writing
> > > - * to portsc
> > > - */
> > > - if (pdata->check_phy_clk_valid) {
> > > - if (!(ioread32be(non_ehci + FSL_SOC_USB_CTRL) &
> > > - PHY_CLK_VALID)) {
> > > - dev_warn(hcd->self.controller,
> > > - "USB PHY clock invalid\n");
> > > - return -EINVAL;
> > > - }
> > > + if (pdata->have_sysif_regs &&
> > > + pdata->controller_ver > FSL_USB_VER_1_6 &&
> > > + !usb_phy_clk_valid(hcd)) {
> > > + dev_warn(hcd->self.controller, "USB PHY clock invalid\n");
> >
> > Once again, you have a continuation line that is indented by the same amount as
> > the code in the inner block. Please fix this properly.
> Hi Alan stern,
>
> Above code indented is in oder to ensure that every line less than 80 characters,
> Otherwise, check-patch tool to check patch that will has error.
No, that's is not what Alan is asking you to do here. Please fix this
up to match other multi-line if statements.
greg k-h
next prev parent reply other threads:[~2019-05-08 6:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-25 6:02 [PATCH v4 1/5] usb: fsl: Set USB_EN bit to select ULPI phy Yinbo Zhu
2019-01-25 6:02 ` [PATCH v4 2/5] usb: phy: Workaround for USB erratum-A005728 Yinbo Zhu
2019-01-28 15:36 ` Alan Stern
2019-05-08 3:26 ` Yinbo Zhu
2019-05-08 6:41 ` Greg Kroah-Hartman [this message]
2019-01-25 6:03 ` [PATCH v4 3/5] usb: linux/fsl_device: Add platform member has_fsl_erratum_a006918 Yinbo Zhu
2019-01-25 6:03 ` [PATCH v4 4/5] usb: host: Stops USB controller init if PLL fails to lock Yinbo Zhu
2019-01-28 15:38 ` Alan Stern
2019-01-25 6:03 ` [PATCH v4 5/5] usb :fsl: Change string format for errata property Yinbo Zhu
2019-01-28 15:33 ` [PATCH v4 1/5] usb: fsl: Set USB_EN bit to select ULPI phy Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190508064138.GD14085@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=B42813@freescale.com \
--cc=jerry.huang@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=nikhil.badola@freescale.com \
--cc=ramneek.mehresh@freescale.com \
--cc=ran.wang_1@nxp.com \
--cc=stern@rowland.harvard.edu \
--cc=suresh.gupta@freescale.com \
--cc=xiaobo.xie@nxp.com \
--cc=yinbo.zhu@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox