Re: thunderbolt: Warning and 20 second delay in S4

From: Evan Green
Date: Tue Jul 13 2021 - 16:51:28 EST


Hi Raj,
Sure. I've got a TGL chromebook with my own kernel. The chromebook has
nothing but a servo v4 plugged into it via type-C.

I built the kernel by checking out next-20210709 from linux-next in
the v5.4 ChromeOS chroot directory, then doing "git checkout m/main --
chromeos", in order to get the configs. My chromeos-5.4 (where I
pulled the configs from) happened to be on 04686c32716158 UPSTREAM:
ASoC: rt5682-sdw: use first_hw_init flag on resume, though I don't
think it matters.

>From there, my build line is:
USE="kgdb pcserial vtconsole " emerge-volteer chromeos-kernel-5_4

My commandline has "earlyprintk=ttyS0,115200n8 console=ttyS0,115200n8"
so I get spew out of the serial port, but otherwise it should be
standard. I'm also tracking this in b/192575702.

-Evan

On Mon, Jul 12, 2021 at 5:16 PM Mani, Rajmohan <rajmohan.mani@xxxxxxxxx> wrote:
>
> Hi Evan,
>
> > -----Original Message-----
> > From: Evan Green <evgreen@xxxxxxxxxxxx>
> > Sent: Monday, July 12, 2021 4:46 PM
> > To: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>; Fine, Gil
> > <gil.fine@xxxxxxxxx>; Mani, Rajmohan <rajmohan.mani@xxxxxxxxx>; linux-
> > usb@xxxxxxxxxxxxxxx; Prashant Malani <pmalani@xxxxxxxxxx>; LKML <linux-
> > kernel@xxxxxxxxxxxxxxx>
> > Subject: Re: thunderbolt: Warning and 20 second delay in S4
> >
> > On Fri, Jul 9, 2021 at 11:34 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Fri, Jul 09, 2021 at 02:31:35PM -0700, Evan Green wrote:
> > > > Hi Mika et al,
> > > >
> > > > I'm experimenting with suspending to disk (hibernate) on a Tigerlake
> > > > Chromebook running the chromeos-5.4 kernel. I don't have any USB4
> > > > peripherals plugged in. I'm getting this warning, along with a 20
> > > > second stall, both when going down for hibernate and coming back up.
> > >
> > > 5.4 is pretty old, especially for thunderbolt issues, can you try 5.13
> > > please?
> >
> > Good idea. On 5.13.0-next-20210709, I see the warning and delay even at boot
> > when runtime pm kicks in. This should make for an easier repro at least:
> >
> > [ 18.832016] thunderbolt 0000:00:0d.2: 0: timeout reading config
> > space 2 from 0x6
> > [ 18.840309] ------------[ cut here ]------------
> > [ 18.845466] thunderbolt 0000:00:0d.2: interrupt for RX ring 0 is
> > already disabled
> > [ 18.853836] WARNING: CPU: 0 PID: 5 at drivers/thunderbolt/nhi.c:103
> > ring_interrupt_active+0x1b7/0x1da
> > ...
> > [ 18.977736] CPU: 0 PID: 5 Comm: kworker/0:0 Tainted: G U
> > 5.13.0-next-20210709 #18
> > [ 18.996804] Workqueue: pm pm_runtime_work
> > [ 19.001285] RIP: 0010:ring_interrupt_active+0x1b7/0x1da
> > ...
> > [ 19.100302] Call Trace:
> > [ 19.103031] tb_ring_stop+0x9d/0x17d
> > [ 19.107022] tb_ctl_stop+0x33/0xa0
> > [ 19.110822] tb_domain_runtime_suspend+0x35/0x3a
> > [ 19.115979] nhi_runtime_suspend+0x1f/0x4c
> > [ 19.120557] pci_pm_runtime_suspend+0x5a/0x173
> > [ 19.125533] ? pci_pm_restore_noirq+0x73/0x73
> > [ 19.130411] __rpm_callback+0x8a/0x10d
> > [ 19.134595] rpm_callback+0x22/0x74
> > [ 19.138489] ? pci_pm_restore_noirq+0x73/0x73
> > [ 19.143355] rpm_suspend+0x21e/0x514
> > [ 19.147355] pm_runtime_work+0x8a/0xa5
> > [ 19.151554] process_one_work+0x1b7/0x368
> > [ 19.156027] worker_thread+0x213/0x372
> > [ 19.160217] kthread+0x147/0x15f
> > [ 19.163827] ? pr_cont_work+0x58/0x58
> > [ 19.167928] ? kthread_blkcg+0x31/0x31
> > [ 19.172113] ret_from_fork+0x1f/0x30
> > [ 19.176105] ---[ end trace 438b7f20f6b4049d ]---
>
> I used to see these timeout errors, when there was a control
> read/write issued to the thunderbolt/usb4 device, after the
> thunderbolt driver is suspended.
> Can you share the steps to reproduce this S4 issue in a Chrome device?
>
> Thanks
> Raj