RE: thunderbolt: Warning and 20 second delay in S4

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

 



Hi Evan,

> Subject: Re: thunderbolt: Warning and 20 second delay in S4
> 
> 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.
> 

tb_cfg_read_raw() and tb_cfg_write_raw() implementation makes use of
TB_CTL_RETRIES (4) retries with a timeout of TB_CFG_DEFAULT_TIMEOUT
(5 seconds) for the control read/write operations.

Per the latest USB4 spec, it is recommended to have 10 +/- 1 ms timeout
value for control packets within domain and 1 second for inter-domain.

You can try changing the TB_CFG_DEFAULT_TIMEOUT value to 100ms and
see if 400ms is manageable and you can get by with it.

Mika will be back by the end of next week. I will check with Mika and rest
of the team, to arrive at the ideal values and post a patch.

> -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




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

  Powered by Linux