Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/850302/?format=api
{ "id": 850302, "url": "http://patchwork.ozlabs.org/api/patches/850302/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171218101742.75920-1-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": "<20171218101742.75920-1-alice.michael@intel.com>", "list_archive_url": null, "date": "2017-12-18T10:17:42", "name": "[next,S83-V5,7/9] i40e: check for invalid DCB config", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "a78551ecb537b1f915d6901866dad4b8dab87178", "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/20171218101742.75920-1-alice.michael@intel.com/mbox/", "series": [ { "id": 19211, "url": "http://patchwork.ozlabs.org/api/series/19211/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=19211", "date": "2017-12-18T10:14:44", "name": "[next,S83-V5,1/9] i40e/i40evf: Enable NVMUpdate to retrieve AdminQ and add preservation flags for NVM update", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/19211/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/850302/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/850302/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" ], "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.138; helo=whitealder.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "Received": [ "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 3z0qFC46VZz9sBW\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Dec 2017 05:24:31 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 19C1288493;\n\tMon, 18 Dec 2017 18:24:30 +0000 (UTC)", "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Q23YWWSrGDaA; Mon, 18 Dec 2017 18:24:29 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 0220988494;\n\tMon, 18 Dec 2017 18:24:29 +0000 (UTC)", "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id CDF8A1C2092\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:24:27 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id C97612FE37\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:24:27 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id nYNRR6ghiR2E for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:24:27 +0000 (UTC)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 3BA5A2FDFC\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Dec 2017 18:24:27 +0000 (UTC)", "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t18 Dec 2017 10:24:26 -0800", "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby fmsmga006.fm.intel.com with ESMTP; 18 Dec 2017 10:24:26 -0800" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.45,422,1508828400\"; d=\"scan'208\";a=\"188076591\"", "From": "Alice Michael <alice.michael@intel.com>", "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org", "Date": "Mon, 18 Dec 2017 05:17:42 -0500", "Message-Id": "<20171218101742.75920-1-alice.michael@intel.com>", "X-Mailer": "git-send-email 2.9.5", "Subject": "[Intel-wired-lan] [next PATCH S83-V5 7/9] i40e: check for invalid\n\tDCB config", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.24", "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: Mitch Williams <mitch.a.williams@intel.com>\n\nThe driver (and the entire netdev layer for that matter) assumes\nthat TC0 will always be present in our DCB configuration.\nUnfortunately, this isn't always the case. Rather than fail to\nconfigure the VSI, let's go ahead and try to make it work, even\nthough DCB will end up being disabled by the kernel.\n\nIf the driver fails to configure DCB, the driver queries what's\nvalid, then writes that back to the hardware, always forcing TC0.\n\nThis fixes a bug where the driver could fail to adhere to ETS BW\nallocations if 8 TCs were configured on the switch.\n\nSigned-off-by: Mitch Williams <mitch.a.williams@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 34 ++++++++++++++++++++++++++++-\n 1 file changed, 33 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex a53f76f..1ce24e2 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -5229,6 +5229,8 @@ static void i40e_vsi_update_queue_map(struct i40e_vsi *vsi,\n static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)\n {\n \tu8 bw_share[I40E_MAX_TRAFFIC_CLASS] = {0};\n+\tstruct i40e_pf *pf = vsi->back;\n+\tstruct i40e_hw *hw = &pf->hw;\n \tstruct i40e_vsi_context ctxt;\n \tint ret = 0;\n \tint i;\n@@ -5246,10 +5248,40 @@ static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)\n \n \tret = i40e_vsi_configure_bw_alloc(vsi, enabled_tc, bw_share);\n \tif (ret) {\n+\t\tstruct i40e_aqc_query_vsi_bw_config_resp bw_config = {0};\n+\n \t\tdev_info(&vsi->back->pdev->dev,\n \t\t\t \"Failed configuring TC map %d for VSI %d\\n\",\n \t\t\t enabled_tc, vsi->seid);\n-\t\tgoto out;\n+\t\tret = i40e_aq_query_vsi_bw_config(hw, vsi->seid,\n+\t\t\t\t\t\t &bw_config, NULL);\n+\t\tif (ret) {\n+\t\t\tdev_info(&pf->pdev->dev,\n+\t\t\t\t \"Failed querying vsi bw info, err %s aq_err %s\\n\",\n+\t\t\t\t i40e_stat_str(hw, ret),\n+\t\t\t\t i40e_aq_str(hw, hw->aq.asq_last_status));\n+\t\t\tgoto out;\n+\t\t}\n+\t\tif ((bw_config.tc_valid_bits & enabled_tc) != enabled_tc) {\n+\t\t\tu8 valid_tc = bw_config.tc_valid_bits & enabled_tc;\n+\n+\t\t\tif (!valid_tc)\n+\t\t\t\tvalid_tc = bw_config.tc_valid_bits;\n+\t\t\t/* Always enable TC0, no matter what */\n+\t\t\tvalid_tc |= 1;\n+\t\t\tdev_info(&pf->pdev->dev,\n+\t\t\t\t \"Requested tc 0x%x, but FW reports 0x%x as valid. Attempting to use 0x%x.\\n\",\n+\t\t\t\t enabled_tc, bw_config.tc_valid_bits, valid_tc);\n+\t\t\tenabled_tc = valid_tc;\n+\t\t}\n+\n+\t\tret = i40e_vsi_configure_bw_alloc(vsi, enabled_tc, bw_share);\n+\t\tif (ret) {\n+\t\t\tdev_err(&pf->pdev->dev,\n+\t\t\t\t\"Unable to configure TC map %d for VSI %d\\n\",\n+\t\t\t\tenabled_tc, vsi->seid);\n+\t\t\tgoto out;\n+\t\t}\n \t}\n \n \t/* Update Queue Pairs Mapping for currently enabled UPs */\n", "prefixes": [ "next", "S83-V5", "7/9" ] }