All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Gagniuc <mr.nuke.me@gmail.com>
To: bhelgaas@google.com
Cc: austin_bolen@dell.com, alex_gagniuc@dellteam.com,
	keith.busch@intel.com, Shyam_Iyer@Dell.com, lukas@wunner.de,
	okaya@kernel.org, linux-pci@vger.kernel.org,
	Alexandru Gagniuc <mr.nuke.me@gmail.com>
Subject: [PATCH RFC v2 0/4] PCI: pciehp: Do not turn off slot if presence comes up after link
Date: Tue, 19 Feb 2019 19:20:26 -0600	[thread overview]
Message-ID: <20190220012031.10741-1-mr.nuke.me@gmail.com> (raw)

If the presence detect state (PDS) becomes active after the link
comes up (DLLLA), the hotplug code removes the device and then
re-loads the driver. For most devices, this is a mere inconvenience,
and for PCIe storage devices that are part of a RAID set which started
rebuilding, it can get fun.

Ideally, we wouldn't remove perfectly good devices. According to
the old PCIe spec PDS would always have to come up at or before DLLLA.
Since not everyone followed this (looking at you Dell and HPE!!!!),
this now got standardized in PCIe 4.0. (*).

This series has two solutions for this problem, and is intended to
serve as a bikeshedding point for which is better:
 1. Try to wait for PDS _before_ loading the driver
 2. Load as usual, and recognize the delayed PDS event as such

I think (2) is more generic and elegant, but a lot of people seem to
like something similar to (1).

(*) ECN was approved in Nov 2018, and is normative spec text. A lot of
the leaked PCIe 4.0 specs do not have this change.



Alexandru Gagniuc (4):
  PCI: hotplug: Add support for disabling in-band presence
  PCI: pciehp: Do not turn off slot if presence comes up after link
  PCI: hotplug: Wait for PDS when in-band presence is disabled
  PCI: hotplug: Add quirk For Dell nvme pcie switches

 drivers/pci/hotplug/pciehp.h      |  1 +
 drivers/pci/hotplug/pciehp_ctrl.c | 24 ++++++++++++++
 drivers/pci/hotplug/pciehp_hpc.c  | 54 ++++++++++++++++++++++++++++++-
 include/linux/pci.h               |  1 +
 include/uapi/linux/pci_regs.h     |  2 ++
 5 files changed, 81 insertions(+), 1 deletion(-)

-- 
2.19.2


             reply	other threads:[~2019-02-20  1:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-20  1:20 Alexandru Gagniuc [this message]
2019-02-20  1:20 ` [PATCH RFC v2 1/4] PCI: hotplug: Add support for disabling in-band presence Alexandru Gagniuc
2019-02-21  7:19   ` Lukas Wunner
2019-02-21 18:05     ` Alex_Gagniuc
2019-02-20  1:20 ` [PATCH RFC v2 2/4] PCI: pciehp: Do not turn off slot if presence comes up after link Alexandru Gagniuc
2019-02-21  7:36   ` Lukas Wunner
2019-02-22 19:56     ` Alex_Gagniuc
2019-02-23  6:49       ` Lukas Wunner
2019-02-24 22:27         ` Alex_Gagniuc
2019-02-20  1:20 ` [PATCH RFC v2 3/4] PCI: hotplug: Wait for PDS when in-band presence is disabled Alexandru Gagniuc
2019-02-20  1:20 ` [PATCH RFC v2 4/4] PCI: hotplug: Add quirk For Dell nvme pcie switches Alexandru Gagniuc
2019-02-21  7:56   ` Lukas Wunner
2019-02-21 18:35     ` Alex_Gagniuc
2019-02-22  1:20       ` Joe Perches
2019-02-22  2:04       ` Oliver
2019-02-22 19:19         ` Alex_Gagniuc
2019-02-21 15:38 ` [PATCH RFC v2 0/4] PCI: pciehp: Do not turn off slot if presence comes up after link Lukas Wunner
2019-02-21 18:17   ` Alex_Gagniuc
2019-04-19  0:01 ` Bjorn Helgaas
2019-04-19 15:22   ` [PATCH v3 " Alexandru Gagniuc
2019-04-19 15:22     ` [PATCH v3 1/4] PCI: hotplug: Add support for disabling in-band presence Alexandru Gagniuc
2019-04-19 15:22     ` [PATCH v3 2/4] PCI: pciehp: Do not turn off slot if presence comes up after link Alexandru Gagniuc
2019-04-19 15:22     ` [PATCH v3 3/4] PCI: hotplug: Wait for PDS when in-band presence is disabled Alexandru Gagniuc
2019-04-19 15:22     ` [PATCH v3 4/4] PCI: hotplug: Add quirk For Dell nvme pcie switches Alexandru Gagniuc
2019-04-19 21:00       ` Alan J. Wylie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190220012031.10741-1-mr.nuke.me@gmail.com \
    --to=mr.nuke.me@gmail.com \
    --cc=Shyam_Iyer@Dell.com \
    --cc=alex_gagniuc@dellteam.com \
    --cc=austin_bolen@dell.com \
    --cc=bhelgaas@google.com \
    --cc=keith.busch@intel.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=okaya@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.