Re: [PATCH] usb: dwc2: suppress confusing warnings on BCM2835

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

 



Hi Minas,

sorry for the delay, i was too busy with other issues.

> Minas Harutyunyan <minas.harutyunyan@xxxxxxxxxxxx> hat am 21. Februar 2019 um 08:34 geschrieben:
> 
> 
> Hi Stefan,
> 
> On 2/19/2019 10:23 PM, Stefan Wahren wrote:
> > According to the BCM2835 datasheet the used Synopsys IP isn't a LPM-capable
> > core. So disable these features and suppress these confusing warnings:
> > 
> > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter lpm=1
> > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1
> > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter besl=1
> > dwc2 3f980000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1
> > 
> > Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
> > ---
> >   drivers/usb/dwc2/params.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
> > index 24ff5f2..a158abb 100644
> > --- a/drivers/usb/dwc2/params.c
> > +++ b/drivers/usb/dwc2/params.c
> > @@ -47,6 +47,10 @@ static void dwc2_set_bcm_params(struct dwc2_hsotg *hsotg)
> >   	p->max_transfer_size = 65535;
> >   	p->max_packet_count = 511;
> >   	p->ahbcfg = 0x10;
> > +	p->lpm = false;
> > +	p->lpm_clock_gating = false;
> > +	p->besl = false;
> > +	p->hird_threshold_en = false;
> >   }
> >   
> >   static void dwc2_set_his_params(struct dwc2_hsotg *hsotg)
> > 
> 
> What about to apply below patch:

yes, this is a more general solution.

Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx>

> 
> 
> diff --git a/drivers/usb/dwc2/params.c b/drivers/usb/dwc2/params.c
> index c1912627a032..6b86aa42f003 100644
> --- a/drivers/usb/dwc2/params.c
> +++ b/drivers/usb/dwc2/params.c
> @@ -303,11 +303,17 @@ static void dwc2_set_default_params(struct 
> dwc2_hsotg *hsotg)
>          p->reload_ctl = (hw->snpsid >= DWC2_CORE_REV_2_92a);
>          p->uframe_sched = true;
>          p->external_id_pin_ctl = false;
> -       p->lpm = true;
> -       p->lpm_clock_gating = true;
> -       p->besl = true;
> -       p->hird_threshold_en = true;
> -       p->hird_threshold = 4;
> +       p->lpm = hw->lpm_mode;
> +       if (p->lpm) {
> +               p->lpm_clock_gating = true;
> +               p->besl = true;
> +               p->hird_threshold_en = true;
> +               p->hird_threshold = 4;
> +       } else {
> +               p->lpm_clock_gating = false;
> +               p->besl = false;
> +               p->hird_threshold_en = false;
> +       }
>          p->ipg_isoc_en = false;
>          p->service_interval = false;
>          p->max_packet_count = hw->max_packet_count;
> 
> 
> 
> Thanks,
> Minas
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux