Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2223170/?format=api
{ "id": 2223170, "url": "http://patchwork.ozlabs.org/api/patches/2223170/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260414-l1ss-fix-v1-4-adbb4555b5ab@oss.qualcomm.com/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260414-l1ss-fix-v1-4-adbb4555b5ab@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-04-14T15:59:42", "name": "[4/4] nvme-pci: Use pci_dev_suspend_retention_supported() API during suspend", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "03ec0c0031fb13eda289434bd240f1d191d7c08c", "submitter": { "id": 91277, "url": "http://patchwork.ozlabs.org/api/people/91277/?format=api", "name": "Manivannan Sadhasivam via B4 Relay", "email": "devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260414-l1ss-fix-v1-4-adbb4555b5ab@oss.qualcomm.com/mbox/", "series": [ { "id": 499863, "url": "http://patchwork.ozlabs.org/api/series/499863/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=499863", "date": "2026-04-14T15:59:38", "name": "PCI: Introduce pci_dev_suspend_retention_supported() API", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499863/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2223170/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2223170/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-52509-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HmQ/Rexu;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52509-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"HmQ/Rexu\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fw8FD1RsMz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 02:02:56 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id E291C3082AAE\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 16:00:15 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B26D43ED138;\n\tTue, 14 Apr 2026 16:00:12 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 85DD63ED127;\n\tTue, 14 Apr 2026 16:00:12 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPS id 4FE79C2BCF4;\n\tTue, 14 Apr 2026 16:00:12 +0000 (UTC)", "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 46739F9D0E2;\n\tTue, 14 Apr 2026 16:00:12 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776182412; cv=none;\n b=eMs6MBfZzzEwW7CpabzS1MoiGjEX+Sfeppw0TrchzHBGBj5u15Q6m+ODdldoix9QaU799ZYHRlxYC7vvWFjBL7th4V+tS0pGsTJzJMqiyQHVJr8pwe89OQM+2ecrLT04wkGkhJXzZngMEEivPIO7NVo0WEFTD5B25HKhYLiyWX0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776182412; c=relaxed/simple;\n\tbh=gd3NgVMSuig/iZb+VOgR9aExL4jhTOa1kJGPBkl+B4E=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=L76imM+V38rSAQrq2OyEgyJ6hpB49y7Q6E+qBphfqQLzQwDi1ARu0GThUKOwr0DE8vjZnilJEcbJW6mILvTVVXkzwWCQlf+tpmbK0caPANzZRl+AnYWTL0hdKvzO46a0CE4HE5mfeUVKy5toed8zJSSjJCT5MeiHnQgvTsOQDEM=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=HmQ/Rexu; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776182412;\n\tbh=gd3NgVMSuig/iZb+VOgR9aExL4jhTOa1kJGPBkl+B4E=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=HmQ/RexuXS6e7g1wNo7tHtonuuuTo03+g/Eyd14XD5eKS7/6BkPKJn+oJSpPq0FXl\n\t OEdP9Y3YsR3rjDovyfTcv2qBmZPDU2UHYAhczTL3zQhg/SYygxkUdghjCpnaByYIsD\n\t /yWBMcSl5giCTOrr0OwehWFXla7fJCb6gA/S8TCivMNw6E4L3fqgqt34UpXztb94or\n\t PBgbVm0c3+zdGdM1uTGJc8mYAOtD3xBKBRZomgc32mVZbulbtMVcmWXkune8SJEKoO\n\t 7PYT8aKtR68YsYsPC3miPfIF/Oy2SVPWfMaeGrz+7DM+d/bnLXSc+7GYIYeWi6kSBI\n\t N1PmeiFW1pDHg==", "From": "Manivannan Sadhasivam via B4 Relay\n <devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org>", "Date": "Tue, 14 Apr 2026 21:29:42 +0530", "Subject": "[PATCH 4/4] nvme-pci: Use pci_dev_suspend_retention_supported()\n API during suspend", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260414-l1ss-fix-v1-4-adbb4555b5ab@oss.qualcomm.com>", "References": "<20260414-l1ss-fix-v1-0-adbb4555b5ab@oss.qualcomm.com>", "In-Reply-To": "<20260414-l1ss-fix-v1-0-adbb4555b5ab@oss.qualcomm.com>", "To": "Bjorn Helgaas <bhelgaas@google.com>,\n Manivannan Sadhasivam <mani@kernel.org>,\n Lorenzo Pieralisi <lpieralisi@kernel.org>, =?utf-8?q?Krzysztof_Wilczy?=\n\t=?utf-8?q?=C5=84ski?= <kwilczynski@kernel.org>,\n Rob Herring <robh@kernel.org>, Keith Busch <kbusch@kernel.org>,\n Jens Axboe <axboe@kernel.dk>, Christoph Hellwig <hch@lst.de>,\n Sagi Grimberg <sagi@grimberg.me>", "Cc": "linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-arm-msm@vger.kernel.org, linux-nvme@lists.infradead.org,\n Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>", "X-Mailer": "b4 0.15.0", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2024;\n i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id;\n bh=9iqx3F1OL5ZbjTfr4VDbef+alvPRZcEaJTtZ6g6PO50=;\n b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBp3mSJFA22ZzG+uMhc8/mbge/1w0NhLM9MKpWXt\n fSvM3+00NGJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCad5kiQAKCRBVnxHm/pHO\n 9bdLB/9BO3ZBbEYnyiWy5OENKpCGj4kWk1d2BmauKwSbNLIdFFAwpmWDLWclzRaGeiY8Ewl95W/\n 5QcaDR28JqbVG2Xb7m/MM4m/yPbrcrC/KQLrVfLSrlyU/SIHBG+ilclmFF5SBF2sHa4UoQBcgCQ\n PuMUkEXCjUvAyN7eaPRXnOKo6q0e+3t0hHoIQjqI67tG2V72hZDSlZ4hSOsitDyT6rJ8eZ6Z5nC\n g99zGFXbhMUJox8LCXtbGc+4rj5sakJ2AUUf2Mv+l8ony3usLJvWdJS8oLQUFxX1NetE9KqRFTF\n lKxN2gGnT1QBD0SYUW8s9tb9/GETQmHWQfmpt3ufgFaTTKfI", "X-Developer-Key": "i=manivannan.sadhasivam@oss.qualcomm.com; a=openpgp;\n fpr=C668AEC3C3188E4C611465E7488550E901166008", "X-Endpoint-Received": "by B4 Relay for\n manivannan.sadhasivam@oss.qualcomm.com/default with auth_id=461", "X-Original-From": "Manivannan Sadhasivam\n <manivannan.sadhasivam@oss.qualcomm.com>", "Reply-To": "manivannan.sadhasivam@oss.qualcomm.com" }, "content": "From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n\nThe pci_dev_suspend_retention_supported() API lets PCI client drivers\nknow if the platform can retain the device context during suspend. This\nis decided based on several factors like:\n\n1. Firmware involvement at the end of suspend\n2. Any platform limitation in waking from low power state (L1ss)\n\nAnd this API might also get extended in the future to cover other platform\nspecific issues impacting the device low power mode during system suspend.\n\nSo use this API instead of checks like pm_suspend_via_firmware(). When this\nAPI returns false, then assume that the platform cannot retain the context\nand shutdown the controller. If it returns true, then assume that the\ncontext will be retained and keep the device in low power mode.\n\nSigned-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n---\n drivers/nvme/host/pci.c | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c\nindex b78ba239c8ea..19010330469f 100644\n--- a/drivers/nvme/host/pci.c\n+++ b/drivers/nvme/host/pci.c\n@@ -3915,6 +3915,7 @@ static int nvme_suspend(struct device *dev)\n \t * use host managed nvme power settings for lowest idle power if\n \t * possible. This should have quicker resume latency than a full device\n \t * shutdown. But if the firmware is involved after the suspend or the\n+\t * platform has any limitation in waking from low power states or the\n \t * device does not support any non-default power states, shut down the\n \t * device fully.\n \t *\n@@ -3923,7 +3924,7 @@ static int nvme_suspend(struct device *dev)\n \t * down, so as to allow the platform to achieve its minimum low-power\n \t * state (which may not be possible if the link is up).\n \t */\n-\tif (pm_suspend_via_firmware() || !ctrl->npss ||\n+\tif (!pci_dev_suspend_retention_supported(pdev) || !ctrl->npss ||\n \t !pcie_aspm_enabled(pdev) ||\n \t (ndev->ctrl.quirks & NVME_QUIRK_SIMPLE_SUSPEND))\n \t\treturn nvme_disable_prepare_reset(ndev, true);\n", "prefixes": [ "4/4" ] }