All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dinh Nguyen <dinguyen@kernel.org>
To: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>,
	Artur Petrosyan <Arthur.Petrosyan@synopsys.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"dinh.linux@gmail.com" <dinh.linux@gmail.com>
Subject: Re: usb: dwc2: USB on Agilex platform broken after commit 50fb0c128b6e
Date: Tue, 14 Dec 2021 10:50:19 -0600	[thread overview]
Message-ID: <eef16aee-a706-9b46-047b-edc825abe7a4@kernel.org> (raw)
In-Reply-To: <f73dc0d1-45ef-985a-a3d1-bfe740a734e0@kernel.org>



On 12/14/21 9:50 AM, Dinh Nguyen wrote:
> 
> 
> On 12/14/21 12:13 AM, Minas Harutyunyan wrote:
>> Hi Dinh,
>>
>> On 12/14/2021 12:40 AM, Dinh Nguyen wrote:
>>>
>>>
>>> On 12/13/21 10:13 AM, Dinh Nguyen wrote:
>>>> 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@synopsys.com>
>>>>>> 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@synopsys.com>
>>>>>> Link:https://urldefense.com/v3/__https://lore.kernel.org/r/20210413073716.30C13A0094@mailhost.synopsys.com__;!!A4F2R9G_pg!IjGS70cMXB9miMnPdcoGriUpDvARm7ScwrlQXAiH9qN-ZnpcaiM_gD-KWp___MVyvEPm_djJ$ 
>>>>>>
>>>>>>
>>>>>>        Signed-off-by: Greg Kroah-Hartman<gregkh@linuxfoundation.org>
>>>>>>
>>>>>> 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().
>>>>
>>>
>>> It looks like the LPMMode bit is disabled in the GHWCFG3. Could that be
>>> the reason why?
>>>
>>> Dinh
>>
>> Could you please disable clock gating by adding to
>> dwc2_set_default_params() function follow line:
>> p->no_clock_gating = true;
>> like in dwc2_set_s3c6400_params() function.
>>
> 
> That did not fix the issue. However, if I remove the line:
> 
> +               /* After entering suspend, hardware is not accessible */
> +               clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> 
> Then the issue gets fixed.
> 

I don't see _dwc2_hcd_resume() getting called.

Dinh

  reply	other threads:[~2021-12-14 16:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <81f48bdb-c97b-2f7c-293e-941ec44ee941@kernel.org>
2021-12-13  9:47 ` usb: dwc2: USB on Agilex platform broken after commit 50fb0c128b6e Minas Harutyunyan
2021-12-13 16:13   ` Dinh Nguyen
2021-12-13 20:40     ` Dinh Nguyen
2021-12-14  6:13       ` Minas Harutyunyan
2021-12-14 15:50         ` Dinh Nguyen
2021-12-14 16:50           ` Dinh Nguyen [this message]
2021-12-14 17:31             ` Dinh Nguyen
2021-12-16 10:12               ` Minas Harutyunyan

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=eef16aee-a706-9b46-047b-edc825abe7a4@kernel.org \
    --to=dinguyen@kernel.org \
    --cc=Arthur.Petrosyan@synopsys.com \
    --cc=Minas.Harutyunyan@synopsys.com \
    --cc=dinh.linux@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.