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

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

 



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:


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




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

  Powered by Linux