From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>, Lukas Wunner <lukas@wunner.de>,
Keith Busch <keith.busch@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
Alexandru Gagniuc <mr.nuke.me@gmail.com>,
Kai-Heng Feng <kai.heng.feng@canonical.com>,
Matthias Andree <matthias.andree@gmx.de>,
Paul Menzel <pmenzel@molgen.mpg.de>,
Nicholas Johnson <nicholas.johnson-opensource@outlook.com.au>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 1/2] PCI: Introduce pcie_wait_for_link_delay()
Date: Fri, 4 Oct 2019 15:39:46 +0300 [thread overview]
Message-ID: <20191004123947.11087-2-mika.westerberg@linux.intel.com> (raw)
In-Reply-To: <20191004123947.11087-1-mika.westerberg@linux.intel.com>
This is otherwise similar to pcie_wait_for_link() but allows passing
custom activation delay in milliseconds.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
drivers/pci/pci.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index e7982af9a5d8..bfd92e018925 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4607,14 +4607,17 @@ static int pci_pm_reset(struct pci_dev *dev, int probe)
return pci_dev_wait(dev, "PM D3->D0", PCIE_RESET_READY_POLL_MS);
}
+
/**
- * pcie_wait_for_link - Wait until link is active or inactive
+ * pcie_wait_for_link_delay - Wait until link is active or inactive
* @pdev: Bridge device
* @active: waiting for active or inactive?
+ * @delay: Delay to wait after link has become active (in ms)
*
* Use this to wait till link becomes active or inactive.
*/
-bool pcie_wait_for_link(struct pci_dev *pdev, bool active)
+static bool pcie_wait_for_link_delay(struct pci_dev *pdev, bool active,
+ int delay)
{
int timeout = 1000;
bool ret;
@@ -4651,13 +4654,25 @@ bool pcie_wait_for_link(struct pci_dev *pdev, bool active)
timeout -= 10;
}
if (active && ret)
- msleep(100);
+ msleep(delay);
else if (ret != active)
pci_info(pdev, "Data Link Layer Link Active not %s in 1000 msec\n",
active ? "set" : "cleared");
return ret == active;
}
+/**
+ * pcie_wait_for_link - Wait until link is active or inactive
+ * @pdev: Bridge device
+ * @active: waiting for active or inactive?
+ *
+ * Use this to wait till link becomes active or inactive.
+ */
+bool pcie_wait_for_link(struct pci_dev *pdev, bool active)
+{
+ return pcie_wait_for_link_delay(pdev, active, 100);
+}
+
void pci_reset_secondary_bus(struct pci_dev *dev)
{
u16 ctrl;
--
2.23.0
next prev parent reply other threads:[~2019-10-04 12:39 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-04 12:39 [PATCH v2 0/2] PCI: Add missing link delays Mika Westerberg
2019-10-04 12:39 ` Mika Westerberg [this message]
2020-08-08 20:22 ` [PATCH v2 1/2] PCI: Introduce pcie_wait_for_link_delay() Marc MERLIN
2020-08-08 20:23 ` Marc MERLIN
2020-08-09 16:31 ` Marc MERLIN
2020-09-06 18:18 ` pcieport 0000:00:01.0: PME: Spurious native interrupt (nvidia with nouveau and thunderbolt on thinkpad P73) Marc MERLIN
2020-09-06 18:18 ` Marc MERLIN
2020-09-06 18:26 ` Matthias Andree
2020-09-07 19:14 ` [Nouveau] " Karol Herbst
2020-09-07 19:14 ` Karol Herbst
2020-09-07 20:58 ` [Nouveau] " Marc MERLIN
2020-09-07 20:58 ` Marc MERLIN
2020-09-07 23:51 ` [Nouveau] " Karol Herbst
2020-09-07 23:51 ` Karol Herbst
2020-09-08 0:29 ` [Nouveau] " Marc MERLIN
2020-05-29 18:03 ` 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics? Marc MERLIN
[not found] ` <20200529180315.GA18804-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2020-05-29 18:53 ` Ilia Mirkin
[not found] ` <CAKb7Uvhw2EYo1RR-=NGgLO3CU9QTRWchcAw1injffybZbJ-zOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-05-29 19:46 ` Marc MERLIN
[not found] ` <20200529194605.GB18804-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2020-05-30 17:32 ` Karol Herbst
2023-04-19 6:49 ` [Nouveau] 6.1 still cannot get display on Thinkpad P73Quadro " Marc MERLIN
2023-04-21 5:46 ` [Nouveau] 6.2 still cannot get hdmi display out on Thinkpad P73 Quadro RTX 4000 Mobile/TU104 Marc MERLIN
[not found] ` <CACO55tsvY0t_z986VVoYCvxuBASdZ+rQcDtZ_dAtQR60NLmQQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-05-31 18:31 ` 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics? Marc MERLIN
2020-12-26 11:12 ` 5.9.11 still hanging 2mn at each boot and looping on nvidia-gpu 0000:01:00.3: PME# enabled (Quadro RTX 4000 Mobile) Marc MERLIN
2020-12-26 11:12 ` Marc MERLIN
2020-12-27 18:28 ` [Nouveau] " Ilia Mirkin
2020-12-27 18:28 ` Ilia Mirkin
2021-01-27 21:33 ` Bjorn Helgaas
2021-01-27 21:33 ` Bjorn Helgaas
2021-01-28 20:59 ` Bjorn Helgaas
2021-01-28 20:59 ` [Nouveau] " Bjorn Helgaas
2021-01-29 0:56 ` Marc MERLIN
2021-01-29 0:56 ` [Nouveau] " Marc MERLIN
2021-01-29 21:20 ` Bjorn Helgaas
2021-01-29 21:20 ` [Nouveau] " Bjorn Helgaas
2021-01-30 2:04 ` Marc MERLIN
2021-01-30 2:04 ` [Nouveau] " Marc MERLIN
2021-05-05 21:42 ` [Nouveau] 5.12.1 0010:nvkm_falcon_v1_wait_for_halt+0x8f/0xb9 [nouveau] Marc MERLIN
2021-05-06 14:50 ` Bjorn Helgaas
2021-05-25 3:13 ` Ben Skeggs
2020-12-29 15:51 ` 5.9.11 still hanging 2mn at each boot and looping on nvidia-gpu 0000:01:00.3: PME# enabled (Quadro RTX 4000 Mobile) Marc MERLIN
2020-12-29 15:51 ` Marc MERLIN
2020-12-29 16:33 ` Ilia Mirkin
2020-12-29 16:33 ` Ilia Mirkin
[not found] ` <CAKb7UviFP_YVxC4PO7MDNnw6NDrD=3BCGF37umwAfaimjbX9Pw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-12-29 17:47 ` Marc MERLIN
[not found] ` <20201229174750.GI23389-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2021-01-04 11:49 ` Marc MERLIN
[not found] ` <20210104114955.GM32533-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2021-01-04 13:28 ` Karol Herbst
[not found] ` <CACO55tsdG37YKv7FV2er4hRnXk9vmwMbPuPptA+=ZtziWXC2+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2021-01-07 11:49 ` Marc MERLIN
2020-12-30 12:16 ` ael
[not found] ` <20200908002935.GD20064-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2020-09-13 20:15 ` pcieport 0000:00:01.0: PME: Spurious native interrupt (nvidia with nouveau and thunderbolt on thinkpad P73) Marc MERLIN
2020-09-13 20:15 ` [Nouveau] " Marc MERLIN
[not found] ` <20200913201545.GL2622-xnduUnryOU1AfugRpC6u6w@public.gmane.org>
2020-09-19 23:18 ` Marc MERLIN
2019-10-04 12:39 ` [PATCH v2 2/2] PCI: Add missing link delays required by the PCIe spec Mika Westerberg
2019-10-26 14:19 ` Bjorn Helgaas
2019-10-28 11:28 ` Mika Westerberg
2019-10-28 13:42 ` Bjorn Helgaas
2019-10-28 18:06 ` Mika Westerberg
2019-10-28 20:16 ` Bjorn Helgaas
2019-10-29 11:15 ` Mika Westerberg
2019-10-29 20:27 ` Bjorn Helgaas
2019-10-30 11:15 ` Mika Westerberg
2019-10-31 22:31 ` Bjorn Helgaas
2019-11-01 11:19 ` Mika Westerberg
2019-11-05 0:00 ` Bjorn Helgaas
2019-11-05 9:54 ` Mika Westerberg
2019-11-05 12:58 ` Mika Westerberg
2019-11-05 20:01 ` Bjorn Helgaas
2019-11-06 13:31 ` Mika Westerberg
2019-11-05 15:00 ` Bjorn Helgaas
2019-11-05 15:28 ` Mika Westerberg
2019-11-05 16:10 ` Bjorn Helgaas
2019-11-06 13:29 ` Mika Westerberg
2019-10-29 20:54 ` Bjorn Helgaas
2019-10-30 11:33 ` Mika Westerberg
2019-10-04 12:57 ` [PATCH v2 0/2] PCI: Add missing link delays Matthias Andree
2019-10-04 13:06 ` Mika Westerberg
2019-10-05 7:34 ` Matthias Andree
2019-10-07 9:32 ` Mika Westerberg
2019-10-07 15:15 ` Matthias Andree
2019-10-08 9:05 ` Mika Westerberg
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=20191004123947.11087-2-mika.westerberg@linux.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=alex.williamson@redhat.com \
--cc=bhelgaas@google.com \
--cc=kai.heng.feng@canonical.com \
--cc=keith.busch@intel.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=matthias.andree@gmx.de \
--cc=mr.nuke.me@gmail.com \
--cc=nicholas.johnson-opensource@outlook.com.au \
--cc=pmenzel@molgen.mpg.de \
--cc=rjw@rjwysocki.net \
/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.