From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A15CB1DF99C; Fri, 22 Aug 2025 16:03:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878587; cv=none; b=Cbqwbw6jnYYADZTqAxbDGhhuv1MG0AyPPqNuTQ5WvBJjim95BP83gTOl+0YbBjUGejTynaa1Vt42i9Oqd/dSh/8qVjmymsPH7T0yWLw6UsscmXcrdP8PwvwNEeZRR/IYCifwWc5Y+znTbAOr5rQwBEYMYi0JTzsKo+vfSfSylMI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878587; c=relaxed/simple; bh=V1Cw2hsQFGVdSK0O43IBpc3FBvg27wXIB7ES7RXG21E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Sqxq5xVWTTG6VljSt//s8FODkLvd+UovJfmNY29Bl8wktBAoxvMJtU51CVglw6K2/RxH/U6Y5bhgZDtPlIwbHToe7wdMNA+hIavq6XFB+2HVK8LOn9lQVEGRJCj9V6AJ+RdcL7SxhDeCHHKTVxBPbPTMm0/VAPTuZxop8axOBas= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=IVXFx4eN; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="IVXFx4eN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=Jh UTm3ze+LHMDVrZVx4fPDMswd+/2krTh5wNPiEtCjk=; b=IVXFx4eNXv7bDx2V/t wM0fz7W6c+6R9nk7/PhxwhVoid36E3K4EI0tBnM4kk0B2MpSL25KLf9JW/Rykhup 4f5ZtwPxJjGvbud2SFRWBF9IkLPQM+UgUyOru6VtjZ6dvDgA5ZO26j5rox9181UA 1aI80agdOaelcHxG6pCDT+T50= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S3; Sat, 23 Aug 2025 00:02:51 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 1/7] PCI: Replace msleep(2) with fsleep() for precise delay Date: Fri, 22 Aug 2025 23:59:02 +0800 Message-Id: <20250822155908.625553-2-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7KFy3GFWxtry7Jw47Ar1UJrb_yoW8Ww15pF W5GFy0yF1rJa15Xrs5Aa18Cry5G3ZI9FWjkF48K3sav3W3AFWDCw45GFW5GrnFqrWxXr1a ya90krWUJFW5trDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pRrcTDUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiQwaxo2iokINYqwAAs3 Content-Type: text/plain; charset="utf-8" The msleep(2) may sleep longer than intended due to timer granularity. According to PCIe r7.0 spec, section 7.5.1.3.13, the minimum Trst is 1ms. We double this to 2ms to ensure we meet the requirement. Using fsleep() provides a more precise delay. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/pci.c | 7 ++----- drivers/pci/pci.h | 6 ++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index b0f4d98036cd..fb4aff520f64 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -4963,11 +4963,8 @@ void pci_reset_secondary_bus(struct pci_dev *dev) ctrl |=3D PCI_BRIDGE_CTL_BUS_RESET; pci_write_config_word(dev, PCI_BRIDGE_CONTROL, ctrl); =20 - /* - * PCI spec v3.0 7.6.4.2 requires minimum Trst of 1ms. Double - * this to 2ms to ensure that we meet the minimum requirement. - */ - msleep(2); + /* Wait for the reset to take effect */ + fsleep(PCI_T_RST_SEC_BUS_DELAY_US); =20 ctrl &=3D ~PCI_BRIDGE_CTL_BUS_RESET; pci_write_config_word(dev, PCI_BRIDGE_CONTROL, ctrl); diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 34f65d69662e..471dae45e46a 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -60,6 +60,12 @@ struct pcie_tlp_log; #define PCIE_LINK_WAIT_MAX_RETRIES 10 #define PCIE_LINK_WAIT_SLEEP_MS 90 =20 +/* + * PCIe r7.0, sec 7.5.1.3.13, requires minimum Trst of 1ms. + * Double this to 2ms to ensure we meet the minimum requirement. + */ +#define PCI_T_RST_SEC_BUS_DELAY_US 2000 /* 2ms */ + /* Message Routing (r[2:0]); PCIe r6.0, sec 2.2.8 */ #define PCIE_MSG_TYPE_R_RC 0 #define PCIE_MSG_TYPE_R_ADDR 1 --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6BB452EC55A; Fri, 22 Aug 2025 16:03:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878591; cv=none; b=PbVlZzY7U17xOazlMbHWmNfTRE+w+O8O5lBe6mNq/8mzKoSuuBQVllsh2uR2hDYzA5KmT1xmSWoc3bJjaq0Wcryy7RqGVHv090FIqLgroHQ5xbZJSPb/dW7j3H4zmnSJvvXur+776+o6WHYP2dO7mPbW0L6g+7+pByJINCcpInQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878591; c=relaxed/simple; bh=qVtS6Oax7AvmoJvDAdQ3sWbGANOQPPBZ1eYryTUFhNk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=MgqziANcsiuGQaUU9o1hwDfmjyRmsrjTBY7Do/5HJhQPt3ivPFCDm/ptVsDLayDHR3z4ZRNhqf3Lhs+4HC39BD2jtdXfKf+9rYfwbPhuhvOqLUHur1XzV+Fe+PeONBWNigPRC1ZnbWvJC7qZDwiasr4pUI65bRtr2oKnAotPfRU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=Y7/J4YPV; arc=none smtp.client-ip=117.135.210.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="Y7/J4YPV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=WH hy8pVWYEgSZDMbifm3Z6i7fna8qFoPzMa2cr1YMAE=; b=Y7/J4YPVdDliUGWqmm PsIE1oJwFNJJ2iBZS1+6se/V4o2Usarj7UAVCoHWkqAXtgU4L1ztQnY3wdzahDTx P1FcnV9M2K/zgL/Yh43ZBm14BxANB7HB7UY4k9Eh8rKodS4B6alyqc33k81OJj9p Gkajey4W+KIZ7Ze0xLZ2feows= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S4; Sat, 23 Aug 2025 00:02:52 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 2/7] PCI: Replace msleep(1) with fsleep() for precise link status checking Date: Fri, 22 Aug 2025 23:59:03 +0800 Message-Id: <20250822155908.625553-3-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S4 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZF4kCryUGFW3JF4UuF4kZwb_yoW8JF4xpF W7Ca42yryrJa17Zws8Za18uF15t3ZFyFW7CFWUu3sxua43Cr47Ja13tayaqrn2vrZ7Grya v3Z0yw1UGay5JwUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRY2NNUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiOhCxo2iokEFcYAAAsV Content-Type: text/plain; charset="utf-8" The msleep(1) in pcie_wait_for_link_status() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in link status monitoring. Replace it with fsleep() for a more precise delay of exactly 1ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/pci.c | 2 +- drivers/pci/pci.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index fb4aff520f64..fff49982b2a9 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -4683,7 +4683,7 @@ static int pcie_wait_for_link_status(struct pci_dev *= pdev, pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnksta); if ((lnksta & lnksta_mask) =3D=3D lnksta_match) return 0; - msleep(1); + fsleep(PCIE_LINK_STATUS_CHECK_US); } while (time_before(jiffies, end_jiffies)); =20 return -ETIMEDOUT; diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 471dae45e46a..e9360d8ff81d 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -16,6 +16,7 @@ struct pcie_tlp_log; #define PCI_VSEC_ID_INTEL_TBT 0x1234 /* Thunderbolt */ =20 #define PCIE_LINK_RETRAIN_TIMEOUT_MS 1000 +#define PCIE_LINK_STATUS_CHECK_US 1000 =20 /* * Power stable to PERST# inactive. --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E89C62F066B; Fri, 22 Aug 2025 16:03:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878593; cv=none; b=de1Ej5mPRC9/OU1Zc57PPXLXuV6b8G/fC8qKtYE3NBUV/JgO1uU3IUg6XPZX0TE9nIBClqhzd8QzIxNf7+bZ7uTAr//P4UDWcvS5+BnDxETds6daJeBwEzOYEC04/ufOPO+roRKZF7rCTQaLenRkKKaWQmm8FWRBmhon7S61E7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878593; c=relaxed/simple; bh=mSTZiv3w+AC7BonVwRiL1fK3888hGsM8Hv345BhmTIk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pPluxLyhr+OuEG9H5qD0r+g4YrLiVGiOBorEnnYDUsQDErYHBpy29qa6d6e1V4NQReDHB/D5OHzHC/kkWucyLkJHJ3obwOWfVb3yp8szNsKQ/R7xBYRDMR5LDgUsWMRyyOuSljrjq7d5fUuuTZVpJbLbJ3kUmvXB45QDAp5O2w4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=ik5VAvqF; arc=none smtp.client-ip=117.135.210.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="ik5VAvqF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=XK nBHPk3wclolPjnrkVycWfU4auAlCcr0wGUwYIwssI=; b=ik5VAvqFRxeWaWR6sG +Fvkq4TtWIFiGsaYDt4BgEuj/GvE3pvem4exxYvKkNmQ9Xu9QjPmrdtwnwSK6CGZ rqxxVDw4hLEIQs5++IpTF60YlXo68Pujkx7W77SgP08xTLKKTLdcvBKTrb2TyZij CJs2tznMT4m1WBUKrU4uPCt4I= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S5; Sat, 23 Aug 2025 00:02:52 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 3/7] PCI: rcar-host: Replace msleep(1) with fsleep() for precise speed change monitoring Date: Fri, 22 Aug 2025 23:59:04 +0800 Message-Id: <20250822155908.625553-4-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S5 X-Coremail-Antispam: 1Uf129KBjvdXoW7Jry7tr4xKF1DWr18Gw17Jrb_yoWDZwc_ur yakF17CrWDC34akF12kw43tF9Yka4jqrnIva4Fq3W3AFW3X34kJrn29ryDXr1rCay5J3WS yw1DKr10kr47CjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUUxnY3UUUUU== X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiQxOxo2iokINYxAAAsN Content-Type: text/plain; charset="utf-8" The msleep(1) in rcar_pcie_force_speedup() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in PCIe speed change detection. Replace it with fsleep() for a more precise delay of exactly 1ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/controller/pcie-rcar-host.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-rcar-host.c b/drivers/pci/controll= er/pcie-rcar-host.c index fe288fd770c4..5651285f1fb2 100644 --- a/drivers/pci/controller/pcie-rcar-host.c +++ b/drivers/pci/controller/pcie-rcar-host.c @@ -34,6 +34,8 @@ =20 #include "pcie-rcar.h" =20 +#define RCAR_SPEED_CHANGE_CHECK_US 1000 + struct rcar_msi { DECLARE_BITMAP(used, INT_PCI_MSI_NR); struct irq_domain *domain; @@ -339,7 +341,7 @@ static void rcar_pcie_force_speedup(struct rcar_pcie *p= cie) goto done; } =20 - msleep(1); + fsleep(RCAR_SPEED_CHANGE_CHECK_US); } =20 dev_err(dev, "Speed change timed out\n"); --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.4]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 190513126AB; Fri, 22 Aug 2025 16:03:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878597; cv=none; b=kmmDqVRehGYhqRrer345GVmzg6MawMySCbaf8Ku+5Qvd6xpymbg80tAakTP8YK7L/wtA9bge3PFp9ldGolQ6nN8OHWQVRlYAvOW7T2aeRaoURB+wMIg7SvBEaZpEP95sEQRpbNekKTxerMd2ksOMc0wnDgCJ4HvXbP05ZVVW6ak= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878597; c=relaxed/simple; bh=z0no76dBMogDiUvbucFoBSnzUXVlDDTLAopwonD5Nro=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iLrYxpuk7EGIpFXhmQOOtQiscXzIGt3gXrTpZ89TbEEZKnc4sMVc6xWXIj6SSesYFQ2mvsZLZij+9/PzUPlTW57XOt7PY6zS9OgY5oGaYeKkNYcyrKvhCD310pEMnS+csyWn+Rqzq++4MHbXWPBfD6gqT4GAYAhxtelUPQiJlNE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=bUePwKGl; arc=none smtp.client-ip=117.135.210.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="bUePwKGl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=T1 dzvzCZGb5OI8B5vyqfywEGzjgFtbc5TyDi4nyFy9g=; b=bUePwKGlH7QFGQyJGW Za46JVY8PR4qfVgKUUzeWq9TfE1bEQvrtKdar+Sgk/fxbEWZfAKa3TaV/6sQQoB5 4HgXgFePrXVsg/FEp08FHkkigmkbO343YzsaRKwosX5d+x295+ZEQpqdtxt8oDJt D6RAloEJKEfe9JMtx86oqUgZ4= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S6; Sat, 23 Aug 2025 00:02:53 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 4/7] PCI: brcmstb: Replace msleep(5) with usleep_range() for precise link up checking Date: Fri, 22 Aug 2025 23:59:05 +0800 Message-Id: <20250822155908.625553-5-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S6 X-Coremail-Antispam: 1Uf129KBjvJXoW7GFyfGw48KrWkXw4xCFW5Awb_yoW8Jr1rpF Z3Ja1jyF17Ja98uw1jv3Z5uw1Yg3ZrZryDK3sFgw17W3ZIv34rGFy5GasYgrn29FWxGw4j vw1xt3W8Gay3AFUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0z_4SoLUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiQwKxo2iokINYxQABsc Content-Type: text/plain; charset="utf-8" The msleep(5) in brcm_pcie_start_link() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in PCIe link up detection. Replace it with usleep_range() for a more precise delay of approximately 5ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/controller/pcie-brcmstb.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller= /pcie-brcmstb.c index 9afbd02ded35..6e34a052b02e 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -214,6 +214,8 @@ #define PCIE_DVT_PMU_PCIE_PHY_CTRL_DAST_PWRDN_MASK 0x1 #define PCIE_DVT_PMU_PCIE_PHY_CTRL_DAST_PWRDN_SHIFT 0x0 =20 +#define PCIE_LINK_UP_CHECK_US 5000 + /* Forward declarations */ struct brcm_pcie; =20 @@ -1365,7 +1367,8 @@ static int brcm_pcie_start_link(struct brcm_pcie *pci= e) * total of 100ms. */ for (i =3D 0; i < 100 && !brcm_pcie_link_up(pcie); i +=3D 5) - msleep(5); + usleep_range(PCIE_LINK_UP_CHECK_US, + PCIE_LINK_UP_CHECK_US + 100); =20 if (!brcm_pcie_link_up(pcie)) { dev_err(dev, "link down\n"); --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E5E2D2571B3; Fri, 22 Aug 2025 16:03:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878590; cv=none; b=YPCeWhgu8j14WDfU5SlAy+zD7XO5JFgr/bwu9ubYXNb6lbY94wosvWX7CpgWTZR0YnLgiiy+HWSSomcCLqjNlpew3LpVsj0uyHSmkBv/lSzS7oZanNoKS+2pGX6pWIG9EZqJbEmyQR/2u5VmYz18igAvKGHOQ26A/EayQDHNhow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878590; c=relaxed/simple; bh=00uQLzBvw81h9DsR6NvprDhEKBbI4K9VDv6ya1BQZS0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=AKpM6MKzAm7xyrqowI6i2fsHtqnaLpxWldDaJKngVSu2R348I+RRJgzhi7u18DwiLMyjuDdRIFvb7qdpvDSVlKRmH/P8PaycLSGprPuwoDFzdriT0K4LfrVQktf3j4QJgxw7JMjIeQWz3GoUNBmDaWZ/MpwzfFco4s/lDQBMLME= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=mqJneMlC; arc=none smtp.client-ip=117.135.210.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="mqJneMlC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=nY wBe0Gw4IJJQHEad3MsWbZtPAjCQRM88MR9DM/lef8=; b=mqJneMlCQm3YYpfNJI ui5bE7BQ9AjAimDzdxm5TBWRp0rXeZT6cYDJDsKdwJi56ApSSh9379qPgKHpTRK+ 6d4DGF2qJu9sMnpjab96EVPW5xZPBpDrr/Y2I+C/SpYqVT318IA8fyLFheGGB3lo hDTKElD/CCRVJHWZt2JLd9joQ= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S7; Sat, 23 Aug 2025 00:02:53 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 5/7] PCI: rcar: Replace msleep(5) with usleep_range() for precise PHY ready checking Date: Fri, 22 Aug 2025 23:59:06 +0800 Message-Id: <20250822155908.625553-6-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S7 X-Coremail-Antispam: 1Uf129KBjvdXoW7GFyfGw1rAr1xKr47Kw4xXrb_yoWkJFbE93 WF9F17CrWDW34akF12yw4IqF9Yy3Wav3WUXa4FqryFyasxX348JryIvayUX395Gw4fGr13 tr1DAr48Jry7CjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7sR_73ktUUUUU== X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiQwKxo2iokINYxQACsf Content-Type: text/plain; charset="utf-8" The msleep(5) in rcar_pcie_wait_for_phyrdy() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in PHY ready detection. Replace it with usleep_range() for a more precise delay of approximately 5ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/controller/pcie-rcar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pc= ie-rcar.c index 7583699ef7b6..8d0f5a4a7fc0 100644 --- a/drivers/pci/controller/pcie-rcar.c +++ b/drivers/pci/controller/pcie-rcar.c @@ -11,6 +11,8 @@ =20 #include "pcie-rcar.h" =20 +#define PCIE_PHYRDY_CHECK_US 5000 + void rcar_pci_write_reg(struct rcar_pcie *pcie, u32 val, unsigned int reg) { writel(val, pcie->base + reg); @@ -39,7 +41,7 @@ int rcar_pcie_wait_for_phyrdy(struct rcar_pcie *pcie) if (rcar_pci_read_reg(pcie, PCIEPHYSR) & PHYRDY) return 0; =20 - msleep(5); + usleep_range(PCIE_PHYRDY_CHECK_US, PCIE_PHYRDY_CHECK_US + 100); } =20 return -ETIMEDOUT; --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 610652ECE89; Fri, 22 Aug 2025 16:03:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878591; cv=none; b=E3+Xqq8DBctO3Zb+4DvyxHPUq07NZYCkNjVlf3uYP5HE9EFj6f7T59hJVk2UW7v4suJYAZTFcJFzgeoCtbroqqR6+P7Lm9jhABhlF1ng5fwr35hVPZlsRmRFLRueJvqNa+3WO0EfMayTVfevRCGqfDE02EBT/sPGig1/m8lmP/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878591; c=relaxed/simple; bh=nDMml1t/oal1TjSK/YIWHUoJL2zcYpk6pKuTr1mAois=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BwaY/sto6ZZlT7/X0Z6OdEr4YvDVS81+rFH5Ln9HzJLLCvdVtSsS3vPjufAb73GieJeH6+geM4P7IqhGvUNbNKv4pg7/Z/cknbtuhc0FBzueT3gXy17oanN6Jy2DRXMDfqMS1TWeuz/asUSYAa2WRLiPRAuSoN+WsS8CD7xjqLM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=bMHMUVwT; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="bMHMUVwT" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=T9 4mJCk8hkOexzssDr7cq6HVn2dwwdGw0IOiDmrMQpQ=; b=bMHMUVwTNEHKAOaXi1 crNavquTJdHfT3erOOp1iRuYQlYhUlfMn6jn4EDmZoK1P+UXjk1W2zXfekz897T4 E0+7ug1j/ELD76V8n+lPPO/rd5FABUHZmp3thbDkewNkTZiERSa5MFNq9i6fAO+b 0X0rTJ/8JXXC7aTWoviQeuUHw= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S8; Sat, 23 Aug 2025 00:02:53 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 6/7] PCI: pciehp: Replace msleep(10) with usleep_range() for precise delays Date: Fri, 22 Aug 2025 23:59:07 +0800 Message-Id: <20250822155908.625553-7-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S8 X-Coremail-Antispam: 1Uf129KBjvJXoW7KFyfCw17Wr18Wr1fXFW8Zwb_yoW8Xr4fp3 yxCrWjyF4rK398CwsavaykW3Z8CF9xCFWDCrW7u3s3ZF93A3ykCa1ftayjqryavrWUCryU WayrtF95JF4UAr7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pR8wIDUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiQxixo2iokINY4QAAsj Content-Type: text/plain; charset="utf-8" The msleep(10) in pcie_poll_cmd() and pcie_wait_for_presence() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in hotplug operations. Replace them with usleep_range() calls using macros for more precise delays of approximately 10ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/hotplug/pciehp_hpc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_= hpc.c index bcc51b26d03d..f9ae48b7b6ad 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -28,6 +28,9 @@ #include "../pci.h" #include "pciehp.h" =20 +#define WAIT_PDS_TIMEOUT_US 10000 +#define POLL_CMD_TIMEOUT_US 10000 + static const struct dmi_system_id inband_presence_disabled_dmi_table[] =3D= { /* * Match all Dell systems, as some Dell systems have inband @@ -103,7 +106,7 @@ static int pcie_poll_cmd(struct controller *ctrl, int t= imeout) smp_mb(); return 1; } - msleep(10); + usleep_range(POLL_CMD_TIMEOUT_US, POLL_CMD_TIMEOUT_US + 100); timeout -=3D 10; } while (timeout >=3D 0); return 0; /* timeout */ @@ -284,6 +287,7 @@ static void pcie_wait_for_presence(struct pci_dev *pdev) if (slot_status & PCI_EXP_SLTSTA_PDS) return; msleep(10); + usleep_range(WAIT_PDS_TIMEOUT_US, WAIT_PDS_TIMEOUT_US + 100); timeout -=3D 10; } while (timeout > 0); } --=20 2.25.1 From nobody Fri Oct 3 23:07:27 2025 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.3]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DAD1A2EE619; Fri, 22 Aug 2025 16:03:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.3 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878593; cv=none; b=VTTDVi2ijRVJRoaEpkZaSgVIrz6YPZHbcmc/Zf7Tq64LijACB7utHPp0RDKg0qQyNKpjl0gvIFsk+zxPzuM8Mvr5iED+tnxfgteLfF7wHwPOo9+kThOPfxwy01ARw+jmlMC4ECinAjpU/zWMWbVzko6Ir9Gx5sEdWH9EDQUERtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755878593; c=relaxed/simple; bh=nr3Ae750UOQEzP08Bo69gzr0P07LB02KeF46y/lUPf0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZyPWEDkiAc1+oI4Wajp42OTFRFiYyvSzjppovzFs07SjEbV2kMZRRoFPvOKxVXtQZQgH/8+AoU3mBZBdQJR3T33rbweM1IwB2wfp1mlpkOkFN7BlQQwh7YyVRShPlGXGf/ITWAnAWOhNH8FqrFBZOIkElPskyKSdglnhxyYYWi0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=WbftlpqF; arc=none smtp.client-ip=220.197.31.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="WbftlpqF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=pj MLZ/AH8cr5pUt0a3faTC4a4e2/NRtUHfVcVQQjNps=; b=WbftlpqFe34I90sWWf 9oIKlki2wlIN1mGtVu2QYVe8uMdOgnDFnWPKe2qg4Zz/FVAmRIbc4rzmNi1A4bhQ jWKOLv0tm6E6Ba47Af5/0VDQ4YuKXKhYSullyrsl+6TuNF6SUyQrvKq2NwkZ5rOh MSHNeNbmIKPP7C2WHxX1W5Wlk= Received: from localhost.localdomain (unknown []) by gzsmtp4 (Coremail) with SMTP id PygvCgBnxDaplKho3jnHAA--.18200S9; Sat, 23 Aug 2025 00:02:54 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, helgaas@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Hans Zhang <18255117159@163.com> Subject: [PATCH v2 7/7] PCI/DPC: Replace msleep(10) with usleep_range() for precise RP busy checking Date: Fri, 22 Aug 2025 23:59:08 +0800 Message-Id: <20250822155908.625553-8-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250822155908.625553-1-18255117159@163.com> References: <20250822155908.625553-1-18255117159@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PygvCgBnxDaplKho3jnHAA--.18200S9 X-Coremail-Antispam: 1Uf129KBjvJXoW7KFyxZFWfAr17Zr47Ar45trb_yoW8GF47pF WfG345A3WrXFyYkan8Xas5u3Z8tFnFkFyUGr97W3Z3ua4Ykw1UCF10ka4DXw1FqrZ5Xry5 XF1ktrn8X3WYvw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pR8wIDUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/1tbiOh6xo2iokEFcmwAAsg Content-Type: text/plain; charset="utf-8" The msleep(10) in dpc_wait_rp_inactive() may sleep longer than intended due to timer granularity, which can cause unnecessary delays in downstream port containment recovery. Replace it with usleep_range() for a more precise delay of approximately 10ms. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/pcie/dpc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c index fc18349614d7..ff0884d669b7 100644 --- a/drivers/pci/pcie/dpc.c +++ b/drivers/pci/pcie/dpc.c @@ -21,6 +21,8 @@ #define PCI_EXP_DPC_CTL_EN_MASK (PCI_EXP_DPC_CTL_EN_FATAL | \ PCI_EXP_DPC_CTL_EN_NONFATAL) =20 +#define PCIE_EXP_DPC_BUSY_CHECK_US 10000 + static const char * const rp_pio_error_string[] =3D { "Configuration Request received UR Completion", /* Bit Position 0 */ "Configuration Request received CA Completion", /* Bit Position 1 */ @@ -135,7 +137,8 @@ static int dpc_wait_rp_inactive(struct pci_dev *pdev) pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); while (status & PCI_EXP_DPC_RP_BUSY && !time_after(jiffies, timeout)) { - msleep(10); + usleep_range(PCIE_EXP_DPC_BUSY_CHECK_US, + PCIE_EXP_DPC_BUSY_CHECK_US + 100); pci_read_config_word(pdev, cap + PCI_EXP_DPC_STATUS, &status); } if (status & PCI_EXP_DPC_RP_BUSY) { --=20 2.25.1