Re: [PATCH v1] usb: dwc3: remove the call trace of USBx_GFLADJ

From: Felipe Balbi
Date: Thu Aug 08 2019 - 01:07:19 EST



Hi,

Yinbo Zhu <yinbo.zhu@xxxxxxx> writes:

> layerscape board sometimes reported some usb call trace, that is due to
> kernel sent LPM tokerns automatically when it has no pending transfers
> and think that the link is idle enough to enter L1, which procedure will
> ask usb register has a recovery,then kernel will compare USBx_GFLADJ and
> set GFLADJ_30MHZ, GFLADJ_30MHZ_REG until GFLADJ_30MHZ is equal 0x20, if
> the conditions were met then issue occur, but whatever the conditions
> whether were met that usb is all need keep GFLADJ_30MHZ of value is 0x20
> (xhci spec ask use GFLADJ_30MHZ to adjust any offset from clock source
> that generates the clock that drives the SOF counter, 0x20 is default
> value of it)That is normal logic, so need remove the call trace.
>
> Signed-off-by: Yinbo Zhu <yinbo.zhu@xxxxxxx>
> ---
> drivers/usb/dwc3/core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 98bce85c29d0..a133d8490322 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -300,8 +300,7 @@ static void dwc3_frame_length_adjustment(struct dwc3 *dwc)
>
> reg = dwc3_readl(dwc->regs, DWC3_GFLADJ);
> dft = reg & DWC3_GFLADJ_30MHZ_MASK;
> - if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj,
> - "request value same as default, ignoring\n")) {
> + if (dft != dwc->fladj) {

if the value isn't different, why do you want to change it?

--
balbi