[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240903213240.GA304079@bhelgaas>
Date: Tue, 3 Sep 2024 16:32:40 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Mario Limonciello <mario.limonciello@....com>
Cc: Mika Westerberg <mika.westerberg@...ux.intel.com>,
Gary Li <Gary.Li@....com>, Mario Limonciello <superm1@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Mathias Nyman <mathias.nyman@...el.com>,
"open list : PCI SUBSYSTEM" <linux-pci@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list : USB XHCI DRIVER" <linux-usb@...r.kernel.org>,
Daniel Drake <drake@...lessos.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Subject: Re: [PATCH v5 2/5] PCI: Check PCI_PM_CTRL instead of PCI_COMMAND in
pci_dev_wait()
On Tue, Sep 03, 2024 at 01:32:30PM -0500, Mario Limonciello wrote:
> On 9/3/2024 13:25, Bjorn Helgaas wrote:
> > On Tue, Sep 03, 2024 at 12:31:00PM -0500, Mario Limonciello wrote:
> > > On 9/3/2024 12:11, Bjorn Helgaas wrote:
> > > ...
> >
> > > > 8) The USB4 stack sees the device and assumes it is in D0, but it
> > > > seems to still be in D3cold. What is this based on? Is there a
> > > > config read that returns ~0 data when it shouldn't?
> > >
> > > Yes there is. From earlier in the thread I have a [log] I shared.
> > >
> > > The message emitted is from ring_interrupt_active():
> > >
> > > "thunderbolt 0000:e5:00.5: interrupt for TX ring 0 is already enabled"
> >
> > Right, that's in the cover letter, but I can't tell from this what the
> > ioread32(ring->nhi->iobase + reg) returned. It looks like this is an
> > MMIO read of BAR 0, not a config read.
>
> Yeah. I suppose another way to approach this problem is to make something
> else in the call chain poll PCI_PM_CTRL.
>
> Polling at the start of nhi_runtime_resume() should also work. For the
> "normal" scenario it would just be a single read to PCI_PM_CTRL.
It doesn't sound like this is anything specific to Thunderbolt, so
there should be a generic solution.
Powered by blists - more mailing lists