get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1135853,
    "url": "http://patchwork.ozlabs.org/api/patches/1135853/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20190723092759.3614-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": "<20190723092759.3614-5-anthony.l.nguyen@intel.com>",
    "list_archive_url": null,
    "date": "2019-07-23T09:27:52",
    "name": "[S24,05/12] ice: Fix RSS LUT table when setting Rx channels",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "21a144ffc9da23a94436118070a1dee409e67ac1",
    "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/20190723092759.3614-5-anthony.l.nguyen@intel.com/mbox/",
    "series": [
        {
            "id": 121041,
            "url": "http://patchwork.ozlabs.org/api/series/121041/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=121041",
            "date": "2019-07-23T09:27:51",
            "name": "[S24,01/12] ice: Allow egress control packets from PF_VSI",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/121041/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1135853/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1135853/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 45tR4852DGz9s4Y\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 24 Jul 2019 03:56:24 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 554A3845AA;\n\tTue, 23 Jul 2019 17:56:23 +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 Rgj8VUqGU0xf; Tue, 23 Jul 2019 17:56:20 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 6274E85B99;\n\tTue, 23 Jul 2019 17:56:20 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id F26791BF95A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 23 Jul 2019 17:56:16 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id EFD3320133\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 23 Jul 2019 17:56:16 +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 U-+-ZH6reqnT for <intel-wired-lan@lists.osuosl.org>;\n\tTue, 23 Jul 2019 17:56:14 +0000 (UTC)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 2DB3C2033F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 23 Jul 2019 17:56:14 +0000 (UTC)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t23 Jul 2019 10:56:13 -0700",
            "from unknown (HELO localhost.jf.intel.com) ([10.166.244.174])\n\tby orsmga002.jf.intel.com with ESMTP; 23 Jul 2019 10:56:13 -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,299,1559545200\"; d=\"scan'208\";a=\"180816345\"",
        "From": "Tony Nguyen <anthony.l.nguyen@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Tue, 23 Jul 2019 02:27:52 -0700",
        "Message-Id": "<20190723092759.3614-5-anthony.l.nguyen@intel.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20190723092759.3614-1-anthony.l.nguyen@intel.com>",
        "References": "<20190723092759.3614-1-anthony.l.nguyen@intel.com>",
        "MIME-Version": "1.0",
        "Subject": "[Intel-wired-lan] [PATCH S24 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---\n drivers/net/ethernet/intel/ice/ice_ethtool.c | 64 ++++++++++++++++++++\n 1 file changed, 64 insertions(+)",
    "diff": "diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c\nindex ba29aede99ad..35aa4a3f59df 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,67 @@ ice_get_channels(struct net_device *dev, struct ethtool_channels *ch)\n \tch->tx_count = vsi->num_txq;\n }\n \n+/**\n+ * ice_pf_set_dflt_rss_lut - set default RSS LUT with requested RSS size\n+ * @pf: PF to reconfigure RSS LUT on\n+ * @req_rss_size: requested range of queue numbers for hashing\n+ *\n+ * Set the PF'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_pf_set_dflt_rss_lut(struct ice_pf *pf, int req_rss_size)\n+{\n+\tstruct device *dev = &pf->pdev->dev;\n+\tstruct ice_hw *hw = &pf->hw;\n+\tenum ice_status status;\n+\tstruct ice_vsi *vsi;\n+\tint err = 0;\n+\tu8 *lut;\n+\n+\tif (!req_rss_size)\n+\t\treturn -EINVAL;\n+\n+\tvsi = ice_find_vsi_by_type(pf, ICE_VSI_PF);\n+\tif (!vsi)\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 +3250,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_pf_set_dflt_rss_lut(pf, new_rx);\n+\n \treturn 0;\n }\n \n",
    "prefixes": [
        "S24",
        "05/12"
    ]
}