Re: usb: dwc2: USB on Agilex platform broken after commit 50fb0c128b6e

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

 



Hi Minas,

Thanks for replying!

On 12/13/21 3:47 AM, Minas Harutyunyan wrote:
Hi Dinh,

On 12/9/2021 1:44 AM, Dinh Nguyen wrote:
Hi Arthur,

The usb driver is getting this error:

[    1.539856] Hardware name: SoCFPGA Agilex SoCDK (DT)
[    1.544799] Call trace:
[    1.547233]  dump_backtrace+0x0/0x1c0
[    1.550897]  show_stack+0x18/0x68
[    1.554202]  dump_stack+0xd8/0x134
[    1.557597]  __report_bad_irq+0x38/0xf0
[    1.561423]  note_interrupt+0x31c/0x3e8
[    1.565244]  handle_irq_event_percpu+0x60/0x90
[    1.569671]  handle_irq_event+0x48/0xe0
[    1.573491]  handle_fasteoi_irq+0xb0/0x138
[    1.577574]  generic_handle_irq+0x30/0x48
[    1.581567]  __handle_domain_irq+0x60/0xb8
[    1.585646]  gic_handle_irq+0xb4/0xd0
[    1.589300]  el1_irq+0xb8/0x150
[    1.592428]  arch_cpu_idle+0x18/0x28
[    1.595992]  default_idle_call+0x24/0x5c
[    1.599899]  do_idle+0x1f4/0x290
[    1.603118]  cpu_startup_entry+0x28/0x68
[    1.607026]  rest_init+0xd8/0xe8
[    1.610242]  arch_call_rest_init+0x10/0x1c
[    1.614329]  start_kernel+0x50c/0x544
[    1.617980] handlers:
[    1.620241] [<00000000ae601aac>] dwc2_handle_common_intr
[    1.625541] [<00000000255d793a>] dwc2_hsotg_irq
[    1.630056] [<000000000bc68ab4>] usb_hcd_irq
[    1.634312] Disabling IRQ #33

After a git-bisect, the result is this commit:


commit 50fb0c128b6e8df62200ba85c05ecd6b1396476d
Author: Artur Petrosyan<Arthur.Petrosyan@xxxxxxxxxxxx>
Date:   Tue Apr 13 11:37:15 2021 +0400

      usb: dwc2: Add clock gating entering flow by system suspend
If not hibernation nor partial power down are supported,
      clock gating is used to save power.
Adds a new flow of entering clock gating when PC is
      suspended.
Signed-off-by: Artur Petrosyan<Arthur.Petrosyan@xxxxxxxxxxxx>
      Link:https://lore.kernel.org/r/20210413073716.30C13A0094@xxxxxxxxxxxxxxxxxxxxx
      Signed-off-by: Greg Kroah-Hartman<gregkh@xxxxxxxxxxxxxxxxxxx>

The DWC2 USB version on the Agilex platform is
0x4F54330A

Could you please provide HW configuration registers values (GHWCFG1-4).


[ 0.987779] dwc2 ffb00000.usb: GHWCFG1 @0xFFFF800012940044 : 0x00000000 [ 0.994644] dwc2 ffb00000.usb: GHWCFG2 @0xFFFF800012940048 : 0x238FFC90 [ 1.001498] dwc2 ffb00000.usb: GHWCFG3 @0xFFFF80001294004C : 0x1F8002E8 [ 1.008350] dwc2 ffb00000.usb: GHWCFG4 @0xFFFF800012940050 : 0xFE0F0020


I did a little debugging, and noticed that the GINTSTS_PRTINT is firing, so the dwc2_handle_common_intr() is getting called continuously. There's doesn't seem to be way to handle the GINTSTS_PRTINT bit, because there's a check for device_mode().

Dinh



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

  Powered by Linux