[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210317194009.GA9515@wunner.de>
Date: Wed, 17 Mar 2021 20:40:09 +0100
From: Lukas Wunner <lukas@...ner.de>
To: "Raj, Ashok" <ashok.raj@...el.com>
Cc: Dan Williams <dan.j.williams@...el.com>,
Sathyanarayanan Kuppuswamy Natarajan
<sathyanarayanan.nkuppuswamy@...il.com>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Linux PCI <linux-pci@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Keith Busch <kbusch@...nel.org>, knsathya@...nel.org,
Sinan Kaya <okaya@...nel.org>
Subject: Re: [PATCH v2 1/1] PCI: pciehp: Skip DLLSC handling if DPC is
triggered
On Wed, Mar 17, 2021 at 12:22:41PM -0700, Raj, Ashok wrote:
> On Wed, Mar 17, 2021 at 08:09:52PM +0100, Lukas Wunner wrote:
> > On Wed, Mar 17, 2021 at 10:45:21AM -0700, Dan Williams wrote:
> > > Ah, ok, we're missing a flush of the hotplug event handler after the
> > > link is up to make sure the hotplug handler does not see the Link Up.
> > > I'm not immediately seeing how the new proposal ensures that there is
> > > no Link Up event still in flight after DPC completes its work.
> > > Wouldn't it be required to throw away Link Up to Link Up transitions?
> >
> > If you look at the new code added to pciehp_ist() by my patch...
> >
> > atomic_and(~PCI_EXP_SLTSTA_DLLSC, &ctrl->pending_events);
> > if (pciehp_check_link_active(ctrl) > 0)
> > events &= ~PCI_EXP_SLTSTA_DLLSC;
>
> When you have a Surprise Link Down and without any DPC, the link trains
> back up. Aren't we expected to take the slot down and add it as if a remove
> and add happens?
>
> without this change if slot-status == ON_STATE, DLLSC means we would power
> the slot off. Then we check link_active and bring the slot back on isn't
> it?
Yes to both questions. That behavior should still be the same
with the patch. Do you think it's not?
Powered by blists - more mailing lists