get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/1138558/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1138558,
    "url": "http://patchwork.ozlabs.org/api/patches/1138558/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20190729090454.5501-5-anthony.l.nguyen@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": "<20190729090454.5501-5-anthony.l.nguyen@intel.com>",
    "list_archive_url": null,
    "date": "2019-07-29T09:04:47",
    "name": "[S24,v2,05/12] ice: Fix RSS LUT table when setting Rx channels",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "8840d721f79df48088c04ff2766105cf666b7889",
    "submitter": {
        "id": 68875,
        "url": "http://patchwork.ozlabs.org/api/people/68875/?format=api",
        "name": "Tony Nguyen",
        "email": "anthony.l.nguyen@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/20190729090454.5501-5-anthony.l.nguyen@intel.com/mbox/",
    "series": [
        {
            "id": 122035,
            "url": "http://patchwork.ozlabs.org/api/series/122035/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=122035",
            "date": "2019-07-29T09:04:53",
            "name": "[S24,v2,01/12] ice: Allow egress control packets from PF_VSI",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/122035/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1138558/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1138558/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.137; helo=fraxinus.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=intel.com"
        ],
        "Received": [
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 45y6Gy1H5jz9s7T\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 30 Jul 2019 03:33:30 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 762A985722;\n\tMon, 29 Jul 2019 17:33:28 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 1vnSbmkfAllk; Mon, 29 Jul 2019 17:33:27 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 51B2985640;\n\tMon, 29 Jul 2019 17:33:27 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 82FD81BF2EC\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 29 Jul 2019 17:33:21 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 7FC622002D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 29 Jul 2019 17:33:21 +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 dHsTaPZOq320 for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 29 Jul 2019 17:33:20 +0000 (UTC)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby silver.osuosl.org (Postfix) with ESMTPS id EB6742046F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 29 Jul 2019 17:33:18 +0000 (UTC)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t29 Jul 2019 10:33:17 -0700",
            "from unknown (HELO localhost.jf.intel.com) ([10.166.244.174])\n\tby FMSMGA003.fm.intel.com with ESMTP; 29 Jul 2019 10:33:17 -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-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.64,323,1559545200\"; d=\"scan'208\";a=\"179447239\"",
        "From": "Tony Nguyen <anthony.l.nguyen@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Mon, 29 Jul 2019 02:04:47 -0700",
        "Message-Id": "<20190729090454.5501-5-anthony.l.nguyen@intel.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20190729090454.5501-1-anthony.l.nguyen@intel.com>",
        "References": "<20190729090454.5501-1-anthony.l.nguyen@intel.com>",
        "MIME-Version": "1.0",
        "Subject": "[Intel-wired-lan] [PATCH S24 v2 05/12] ice: Fix RSS LUT table when\n\tsetting Rx channels",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.29",
        "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>",
        "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: Brett Creeley <brett.creeley@intel.com>\n\nCurrently there are multiple problems involved with setting Rx channels\nin regards to the RSS LUT. First, if the user set the indirection table\nmanually through ethtool, changing the Rx channels will blindly use the\nuser set value. Second when increasing the number of Rx channels the RSS\ntable size is doing of minimum of the last RSS table width and the newly\nrequested one, this is causing the previously set RSS table width to be\nused.\n\nFix these issues by adding the function ice_pf_set_dflt_rss_lut() that\nis called when changing the number of Rx channels. This function updates\nthe RSS LUT to the default configuration for the PF any time the user\nhas changed the number of Rx channels.\n\nSigned-off-by: Brett Creeley <brett.creeley@intel.com>\nSigned-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>\n---\nv2: Change function to take VSI instead of PF\n---\n drivers/net/ethernet/intel/ice/ice_ethtool.c | 63 ++++++++++++++++++++\n 1 file changed, 63 insertions(+)",
    "diff": "diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c\nindex ba29aede99ad..2d37dd4ba677 100644\n--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c\n+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c\n@@ -3154,6 +3154,66 @@ ice_get_channels(struct net_device *dev, struct ethtool_channels *ch)\n \tch->tx_count = vsi->num_txq;\n }\n \n+/**\n+ * ice_vsi_set_dflt_rss_lut - set default RSS LUT with requested RSS size\n+ * @vsi: VSI to reconfigure RSS LUT on\n+ * @req_rss_size: requested range of queue numbers for hashing\n+ *\n+ * Set the VSI's RSS parameters, configure the RSS LUT based on these, and then\n+ * clear the previous vsi->rss_lut_user because it is assumed to be invalid at\n+ * this point.\n+ */\n+static int ice_vsi_set_dflt_rss_lut(struct ice_vsi *vsi, int req_rss_size)\n+{\n+\tstruct ice_pf *pf = vsi->back;\n+\tenum ice_status status;\n+\tstruct device *dev;\n+\tstruct ice_hw *hw;\n+\tint err = 0;\n+\tu8 *lut;\n+\n+\tdev = &pf->pdev->dev;\n+\thw = &pf->hw;\n+\n+\tif (!req_rss_size)\n+\t\treturn -EINVAL;\n+\n+\tlut = devm_kzalloc(dev, vsi->rss_table_size, GFP_KERNEL);\n+\tif (!lut)\n+\t\treturn -ENOMEM;\n+\n+\t/* set RSS LUT parameters */\n+\tif (!test_bit(ICE_FLAG_RSS_ENA, pf->flags)) {\n+\t\tvsi->rss_size = 1;\n+\t} else {\n+\t\tstruct ice_hw_common_caps *caps = &hw->func_caps.common_cap;\n+\n+\t\tvsi->rss_size = min_t(int, req_rss_size,\n+\t\t\t\t      BIT(caps->rss_table_entry_width));\n+\t}\n+\n+\t/* create/set RSS LUT */\n+\tice_fill_rss_lut(lut, vsi->rss_table_size, vsi->rss_size);\n+\tstatus = ice_aq_set_rss_lut(hw, vsi->idx, vsi->rss_lut_type, lut,\n+\t\t\t\t    vsi->rss_table_size);\n+\tif (status) {\n+\t\tdev_err(dev, \"Cannot set RSS lut, err %d aq_err %d\\n\",\n+\t\t\tstatus, hw->adminq.sq_last_status);\n+\t\terr = -EIO;\n+\t}\n+\n+\t/* get rid of invalid user configuration */\n+\tif (vsi->rss_lut_user) {\n+\t\tnetdev_info(vsi->netdev,\n+\t\t\t    \"Rx queue count changed, clearing user modified RSS LUT, re-run ethtool [-x|-X] to [check|set] settings if needed\\n\");\n+\t\tdevm_kfree(dev, vsi->rss_lut_user);\n+\t\tvsi->rss_lut_user = NULL;\n+\t}\n+\n+\tdevm_kfree(dev, lut);\n+\treturn err;\n+}\n+\n /**\n  * ice_set_channels - set the number channels\n  * @dev: network interface device structure\n@@ -3189,6 +3249,9 @@ static int ice_set_channels(struct net_device *dev, struct ethtool_channels *ch)\n \n \tice_vsi_recfg_qs(vsi, new_rx, new_tx);\n \n+\tif (new_rx)\n+\t\treturn ice_vsi_set_dflt_rss_lut(vsi, new_rx);\n+\n \treturn 0;\n }\n \n",
    "prefixes": [
        "S24",
        "v2",
        "05/12"
    ]
}