Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/788799/?format=api
{ "id": 788799, "url": "http://patchwork.ozlabs.org/api/patches/788799/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170714132709.52657-4-alice.michael@intel.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170714132709.52657-4-alice.michael@intel.com>", "list_archive_url": null, "date": "2017-07-14T13:27:03", "name": "[next,S77-V3,04/10] i40e: use newer generic PM support instead of legacy PM callbacks", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "2dc931fcf340d82536b6d45714b59f43c5065521", "submitter": { "id": 71123, "url": "http://patchwork.ozlabs.org/api/people/71123/?format=api", "name": "Michael, Alice", "email": "alice.michael@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170714132709.52657-4-alice.michael@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/788799/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/788799/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Received": [ "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3x8QqH2hS2z9sNd\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 15 Jul 2017 07:31:23 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id A5D988A420;\n\tFri, 14 Jul 2017 21:31:21 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id U+OSfKvPCMdq; Fri, 14 Jul 2017 21:31:20 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id B415E8A42A;\n\tFri, 14 Jul 2017 21:31:20 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 1A6E41CE81B\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:19 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 114E78A400\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:19 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Mb1oFSdHpnhC for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:17 +0000 (UTC)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 026358A420\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:16 +0000 (UTC)", "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga105.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -0700", "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga005.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.40,360,1496127600\"; d=\"scan'208\";a=\"125288626\"", "From": "Alice Michael <alice.michael@intel.com>", "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org", "Date": "Fri, 14 Jul 2017 09:27:03 -0400", "Message-Id": "<20170714132709.52657-4-alice.michael@intel.com>", "X-Mailer": "git-send-email 2.9.3", "In-Reply-To": "<20170714132709.52657-1-alice.michael@intel.com>", "References": "<20170714132709.52657-1-alice.michael@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S77-V3 04/10] i40e: use newer generic\n\tPM support instead of legacy PM callbacks", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "From: Jacob Keller <jacob.e.keller@intel.com>\n\nStop using the old legacy PM support, since we now have stable support\nfor the newer generic PM callbacks.\n\nThis has several advantages. First, we no longer have to manage our\nown pci_save_state() and power changes, as it's preferred to have the\nPCI stack do this. Second, these routines get called for both hibernate\nand suspend to ram, so we can have the driver properly handle all the\nsuspend/resume flows that it needs to.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 54 +++++++++--------------------\n 1 file changed, 17 insertions(+), 37 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex c41815f..b47cc14 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -12036,14 +12036,14 @@ static void i40e_shutdown(struct pci_dev *pdev)\n \n #ifdef CONFIG_PM\n /**\n- * i40e_suspend - PCI callback for moving to D3\n- * @pdev: PCI device information struct\n+ * i40e_suspend - PM callback for moving to D3\n+ * @dev: generic device information structure\n **/\n-static int i40e_suspend(struct pci_dev *pdev, pm_message_t state)\n+static int i40e_suspend(struct device *dev)\n {\n+\tstruct pci_dev *pdev = to_pci_dev(dev);\n \tstruct i40e_pf *pf = pci_get_drvdata(pdev);\n \tstruct i40e_hw *hw = &pf->hw;\n-\tint retval = 0;\n \n \tset_bit(__I40E_SUSPENDED, pf->state);\n \tset_bit(__I40E_DOWN, pf->state);\n@@ -12058,41 +12058,17 @@ static int i40e_suspend(struct pci_dev *pdev, pm_message_t state)\n \n \ti40e_free_misc_vector(pf);\n \n-\tretval = pci_save_state(pdev);\n-\tif (retval)\n-\t\treturn retval;\n-\n-\tpci_wake_from_d3(pdev, pf->wol_en);\n-\tpci_set_power_state(pdev, PCI_D3hot);\n-\n-\treturn retval;\n+\treturn 0;\n }\n \n /**\n- * i40e_resume - PCI callback for waking up from D3\n- * @pdev: PCI device information struct\n+ * i40e_resume - PM callback for waking up from D3\n+ * @dev: generic device information structure\n **/\n-static int i40e_resume(struct pci_dev *pdev)\n+static int i40e_resume(struct device *dev)\n {\n+\tstruct pci_dev *pdev = to_pci_dev(dev);\n \tstruct i40e_pf *pf = pci_get_drvdata(pdev);\n-\tu32 err;\n-\n-\tpci_set_power_state(pdev, PCI_D0);\n-\tpci_restore_state(pdev);\n-\t/* pci_restore_state() clears dev->state_saves, so\n-\t * call pci_save_state() again to restore it.\n-\t */\n-\tpci_save_state(pdev);\n-\n-\terr = pci_enable_device_mem(pdev);\n-\tif (err) {\n-\t\tdev_err(&pdev->dev, \"Cannot enable PCI device from suspend\\n\");\n-\t\treturn err;\n-\t}\n-\tpci_set_master(pdev);\n-\n-\t/* no wakeup events while running */\n-\tpci_wake_from_d3(pdev, false);\n \n \t/* handling the reset will rebuild the device state */\n \tif (test_and_clear_bit(__I40E_SUSPENDED, pf->state)) {\n@@ -12103,22 +12079,26 @@ static int i40e_resume(struct pci_dev *pdev)\n \treturn 0;\n }\n \n-#endif\n+#endif /* CONFIG_PM */\n+\n static const struct pci_error_handlers i40e_err_handler = {\n \t.error_detected = i40e_pci_error_detected,\n \t.slot_reset = i40e_pci_error_slot_reset,\n \t.resume = i40e_pci_error_resume,\n };\n \n+static SIMPLE_DEV_PM_OPS(i40e_pm_ops, i40e_suspend, i40e_resume);\n+\n static struct pci_driver i40e_driver = {\n \t.name = i40e_driver_name,\n \t.id_table = i40e_pci_tbl,\n \t.probe = i40e_probe,\n \t.remove = i40e_remove,\n #ifdef CONFIG_PM\n-\t.suspend = i40e_suspend,\n-\t.resume = i40e_resume,\n-#endif\n+\t.driver = {\n+\t\t.pm = &i40e_pm_ops,\n+\t},\n+#endif /* CONFIG_PM */\n \t.shutdown = i40e_shutdown,\n \t.err_handler = &i40e_err_handler,\n \t.sriov_configure = i40e_pci_sriov_configure,\n", "prefixes": [ "next", "S77-V3", "04/10" ] }