[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210317192241.GE52280@otc-nc-03>
Date: Wed, 17 Mar 2021 12:22:41 -0700
From: "Raj, Ashok" <ashok.raj@...el.com>
To: Lukas Wunner <lukas@...ner.de>
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>, Ashok Raj <ashok.raj@...el.com>
Subject: Re: [PATCH v2 1/1] PCI: pciehp: Skip DLLSC handling if DPC is
triggered
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?
Powered by blists - more mailing lists