[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200208202253.ixvnecn52u3rdoas@wunner.de>
Date: Sat, 8 Feb 2020 21:22:53 +0100
From: Lukas Wunner <lukas@...ner.de>
To: Stuart Hayes <stuart.w.hayes@...il.com>,
Bjorn Helgaas <helgaas@...nel.org>
Cc: Austin Bolen <austin_bolen@...l.com>, keith.busch@...el.com,
Alexandru Gagniuc <mr.nuke.me@...il.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Sinan Kaya <okaya@...nel.org>,
Oza Pawandeep <poza@...eaurora.org>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org, Oliver Neukum <oneukum@...e.com>,
Libor Pechacek <lpechacek@...e.cz>
Subject: Re: [PATCH v4 0/3] PCI: pciehp: Do not turn off slot if presence
comes up after link
On Fri, Oct 25, 2019 at 03:00:44PM -0400, Stuart Hayes wrote:
> In older PCIe specs, PDS (presence detect) would come up when the
> "in-band" presence detect pin connected, and would be up before DLLLA
> (link active).
>
> In PCIe 4.0 (as an ECN) and in PCIe 5.0, there is a new bit to show if
> in-band presence detection can be disabled for the slot, and another bit
> that disables it--and a recommendation that it should be disabled if it
> can be. In addition, certain OEMs disable in-band presence detection
> without implementing these bits.
>
> This means it is possible to get a "card present" interrupt after the
> link is up and the driver is loaded. This causes an erroneous removal
> of the device driver, followed by an immediate re-probing.
>
> This patch set defines these new bits, uses them to disable in-band
> presence detection if it can be, waits for PDS to go up if in-band
> presence detection is disabled, and adds a DMI table that will let us
> know if we should assume in-band presence is disabled on a system.
FWIW, this series is
Reviewed-by: Lukas Wunner <lukas@...ner.de>
Looking at the patches again today, I only spotted a minor cosmetic issue:
In patch [1/3] I would have preferred readout of the PCI_EXP_SLTCAP2
register (hunk #3) to be inserted a little further up in pcie_init(),
perhaps before reading the PCI_EXP_LNKCAP register. It just looks
a little out of place at the end of the function. I would have
grouped it together with the other quirks and feature checks further
up in the function and I probably would have amended the ctrl_info()
to print the status of the inband_presence_disabled flag.
In patch [3/3] the DMI check would then likewise have to be moved up
in the function.
Maybe Bjorn can make this change when applying, and if not, it's not
a big deal.
Thanks,
Lukas
Powered by blists - more mailing lists