get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 611851,
    "url": "http://patchwork.ozlabs.org/api/patches/611851/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1461004429-34316-6-git-send-email-jesse.brandeburg@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": "<1461004429-34316-6-git-send-email-jesse.brandeburg@intel.com>",
    "list_archive_url": null,
    "date": "2016-04-18T18:33:45",
    "name": "[next,S35,v3,5/9] i40evf: Drop packet split receive routine",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "7c1ec7cbacb71041497db91d85410e5d1bd52b75",
    "submitter": {
        "id": 189,
        "url": "http://patchwork.ozlabs.org/api/people/189/?format=api",
        "name": "Jesse Brandeburg",
        "email": "jesse.brandeburg@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/1461004429-34316-6-git-send-email-jesse.brandeburg@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/611851/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/611851/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.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 fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ozlabs.org (Postfix) with ESMTP id 3qpcJ73kkWz9t44\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Apr 2016 04:34:47 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id C9D9585A26;\n\tMon, 18 Apr 2016 18:34:46 +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 2C1UJE1Ftdhv; Mon, 18 Apr 2016 18:34:45 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 37683857D2;\n\tMon, 18 Apr 2016 18:34:45 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id AE03D1C2080\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Apr 2016 18:34:43 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id A9D2A30D7A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Apr 2016 18:34:43 +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 F5842u0hT4Ld for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Apr 2016 18:34:42 +0000 (UTC)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby silver.osuosl.org (Postfix) with ESMTP id 83E43314CF\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 18 Apr 2016 18:34:41 +0000 (UTC)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga103.jf.intel.com with ESMTP; 18 Apr 2016 11:34:41 -0700",
            "from jbrandeb-hsm2.jf.intel.com ([134.134.3.81])\n\tby fmsmga002.fm.intel.com with ESMTP; 18 Apr 2016 11:34:40 -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.24,503,1455004800\"; d=\"scan'208\";a=\"961329961\"",
        "From": "Jesse Brandeburg <jesse.brandeburg@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Mon, 18 Apr 2016 11:33:45 -0700",
        "Message-Id": "<1461004429-34316-6-git-send-email-jesse.brandeburg@intel.com>",
        "X-Mailer": "git-send-email 2.1.0",
        "In-Reply-To": "<1461004429-34316-5-git-send-email-jesse.brandeburg@intel.com>",
        "References": "<1461004429-34316-1-git-send-email-jesse.brandeburg@intel.com>\n\t<1461004429-34316-2-git-send-email-jesse.brandeburg@intel.com>\n\t<1461004429-34316-3-git-send-email-jesse.brandeburg@intel.com>\n\t<1461004429-34316-4-git-send-email-jesse.brandeburg@intel.com>\n\t<1461004429-34316-5-git-send-email-jesse.brandeburg@intel.com>",
        "Subject": "[Intel-wired-lan] [PATCH next S35 v3 5/9] i40evf: Drop packet split\n\treceive routine",
        "X-BeenThere": "intel-wired-lan@lists.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.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.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@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "As part of preparation for the rx-refactor, remove the\npacket split receive routine and ancillary code.\n\nSome of the split related context set up code stays in\ni40e_virtchnl_pf.c in case an older VF driver tries to load\nand still wants to use packet split.\n\nSigned-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  2 +-\n drivers/net/ethernet/intel/i40evf/i40e_txrx.c      | 21 +---------------\n drivers/net/ethernet/intel/i40evf/i40e_txrx.h      |  7 ------\n drivers/net/ethernet/intel/i40evf/i40evf.h         |  2 --\n drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 14 -----------\n drivers/net/ethernet/intel/i40evf/i40evf_main.c    | 28 +---------------------\n .../net/ethernet/intel/i40evf/i40evf_virtchnl.c    |  4 ----\n 7 files changed, 3 insertions(+), 75 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\nindex 41be42d..651ce05 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n@@ -590,7 +590,7 @@ static int i40e_config_vsi_rx_queue(struct i40e_vf *vf, u16 vsi_id,\n \t\t}\n \t\trx_ctx.hbuff = info->hdr_size >> I40E_RXQ_CTX_HBUFF_SHIFT;\n \n-\t\t/* set splitalways mode 10b */\n+\t\t/* set split mode 10b */\n \t\trx_ctx.dtype = I40E_RX_DTYPE_HEADER_SPLIT;\n \t}\n \ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\nindex cf42f16..f0a76f5 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\n@@ -504,22 +504,6 @@ void i40evf_clean_rx_ring(struct i40e_ring *rx_ring)\n \tif (!rx_ring->rx_bi)\n \t\treturn;\n \n-\tif (ring_is_ps_enabled(rx_ring)) {\n-\t\tint bufsz = ALIGN(rx_ring->rx_hdr_len, 256) * rx_ring->count;\n-\n-\t\trx_bi = &rx_ring->rx_bi[0];\n-\t\tif (rx_bi->hdr_buf) {\n-\t\t\tdma_free_coherent(dev,\n-\t\t\t\t\t  bufsz,\n-\t\t\t\t\t  rx_bi->hdr_buf,\n-\t\t\t\t\t  rx_bi->dma);\n-\t\t\tfor (i = 0; i < rx_ring->count; i++) {\n-\t\t\t\trx_bi = &rx_ring->rx_bi[i];\n-\t\t\t\trx_bi->dma = 0;\n-\t\t\t\trx_bi->hdr_buf = NULL;\n-\t\t\t}\n-\t\t}\n-\t}\n \t/* Free all the Rx ring sk_buffs */\n \tfor (i = 0; i < rx_ring->count; i++) {\n \t\trx_bi = &rx_ring->rx_bi[i];\n@@ -1435,10 +1419,7 @@ int i40evf_napi_poll(struct napi_struct *napi, int budget)\n \ti40e_for_each_ring(ring, q_vector->rx) {\n \t\tint cleaned;\n \n-\t\tif (ring_is_ps_enabled(ring))\n-\t\t\tcleaned = i40e_clean_rx_irq_ps(ring, budget_per_ring);\n-\t\telse\n-\t\t\tcleaned = i40e_clean_rx_irq_1buf(ring, budget_per_ring);\n+\t\tcleaned = i40e_clean_rx_irq_1buf(ring, budget_per_ring);\n \n \t\twork_done += cleaned;\n \t\t/* if we clean as many as budgeted, we must not be done */\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.h b/drivers/net/ethernet/intel/i40evf/i40e_txrx.h\nindex 3b3f976..f24a97e 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.h\n@@ -244,16 +244,9 @@ struct i40e_rx_queue_stats {\n enum i40e_ring_state_t {\n \t__I40E_TX_FDIR_INIT_DONE,\n \t__I40E_TX_XPS_INIT_DONE,\n-\t__I40E_RX_PS_ENABLED,\n \t__I40E_RX_16BYTE_DESC_ENABLED,\n };\n \n-#define ring_is_ps_enabled(ring) \\\n-\ttest_bit(__I40E_RX_PS_ENABLED, &(ring)->state)\n-#define set_ring_ps_enabled(ring) \\\n-\tset_bit(__I40E_RX_PS_ENABLED, &(ring)->state)\n-#define clear_ring_ps_enabled(ring) \\\n-\tclear_bit(__I40E_RX_PS_ENABLED, &(ring)->state)\n #define ring_is_16byte_desc_enabled(ring) \\\n \ttest_bit(__I40E_RX_16BYTE_DESC_ENABLED, &(ring)->state)\n #define set_ring_16byte_desc_enabled(ring) \\\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf.h b/drivers/net/ethernet/intel/i40evf/i40evf.h\nindex 3b8075f..b6d809e 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf.h\n@@ -209,8 +209,6 @@ struct i40evf_adapter {\n \tu32 flags;\n #define I40EVF_FLAG_RX_CSUM_ENABLED              BIT(0)\n #define I40EVF_FLAG_RX_1BUF_CAPABLE              BIT(1)\n-#define I40EVF_FLAG_RX_PS_CAPABLE                BIT(2)\n-#define I40EVF_FLAG_RX_PS_ENABLED                BIT(3)\n #define I40EVF_FLAG_IMIR_ENABLED                 BIT(5)\n #define I40EVF_FLAG_MQ_CAPABLE                   BIT(6)\n #define I40EVF_FLAG_NEED_LINK_UPDATE             BIT(7)\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c b/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c\nindex 3a95c7c..74a94a6 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c\n@@ -527,12 +527,8 @@ static int i40evf_set_rxfh(struct net_device *netdev, const u32 *indir,\n  **/\n static u32 i40evf_get_priv_flags(struct net_device *dev)\n {\n-\tstruct i40evf_adapter *adapter = netdev_priv(dev);\n \tu32 ret_flags = 0;\n \n-\tret_flags |= adapter->flags & I40EVF_FLAG_RX_PS_ENABLED ?\n-\t\tI40EVF_PRIV_FLAGS_PS : 0;\n-\n \treturn ret_flags;\n }\n \n@@ -546,16 +542,6 @@ static int i40evf_set_priv_flags(struct net_device *dev, u32 flags)\n \tstruct i40evf_adapter *adapter = netdev_priv(dev);\n \tbool reset_required = false;\n \n-\tif ((flags & I40EVF_PRIV_FLAGS_PS) &&\n-\t    !(adapter->flags & I40EVF_FLAG_RX_PS_ENABLED)) {\n-\t\tadapter->flags |= I40EVF_FLAG_RX_PS_ENABLED;\n-\t\treset_required = true;\n-\t} else if (!(flags & I40EVF_PRIV_FLAGS_PS) &&\n-\t\t   (adapter->flags & I40EVF_FLAG_RX_PS_ENABLED)) {\n-\t\tadapter->flags &= ~I40EVF_FLAG_RX_PS_ENABLED;\n-\t\treset_required = true;\n-\t}\n-\n \t/* if needed, issue reset to cause things to take effect */\n \tif (reset_required)\n \t\ti40evf_schedule_reset(adapter);\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\nindex b9b1dd8..c58129c 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n@@ -641,28 +641,11 @@ static void i40evf_configure_tx(struct i40evf_adapter *adapter)\n static void i40evf_configure_rx(struct i40evf_adapter *adapter)\n {\n \tstruct i40e_hw *hw = &adapter->hw;\n-\tstruct net_device *netdev = adapter->netdev;\n-\tint max_frame = netdev->mtu + ETH_HLEN + ETH_FCS_LEN;\n \tint i;\n-\tint rx_buf_len;\n-\n-\n-\t/* Set the RX buffer length according to the mode */\n-\tif (adapter->flags & I40EVF_FLAG_RX_PS_ENABLED ||\n-\t    netdev->mtu <= ETH_DATA_LEN)\n-\t\trx_buf_len = I40EVF_RXBUFFER_2048;\n-\telse\n-\t\trx_buf_len = ALIGN(max_frame, 1024);\n \n \tfor (i = 0; i < adapter->num_active_queues; i++) {\n \t\tadapter->rx_rings[i].tail = hw->hw_addr + I40E_QRX_TAIL1(i);\n-\t\tadapter->rx_rings[i].rx_buf_len = rx_buf_len;\n-\t\tif (adapter->flags & I40EVF_FLAG_RX_PS_ENABLED) {\n-\t\t\tset_ring_ps_enabled(&adapter->rx_rings[i]);\n-\t\t\tadapter->rx_rings[i].rx_hdr_len = I40E_RX_HDR_SIZE;\n-\t\t} else {\n-\t\t\tclear_ring_ps_enabled(&adapter->rx_rings[i]);\n-\t\t}\n+\t\tadapter->rx_rings[i].rx_buf_len = I40EVF_RXBUFFER_2048;\n \t}\n }\n \n@@ -1007,12 +990,7 @@ static void i40evf_configure(struct i40evf_adapter *adapter)\n \tfor (i = 0; i < adapter->num_active_queues; i++) {\n \t\tstruct i40e_ring *ring = &adapter->rx_rings[i];\n \n-\tif (adapter->flags & I40EVF_FLAG_RX_PS_ENABLED) {\n-\t\ti40evf_alloc_rx_headers(ring);\n-\t\ti40evf_alloc_rx_buffers_ps(ring, ring->count);\n-\t} else {\n \t\ti40evf_alloc_rx_buffers_1buf(ring, ring->count);\n-\t}\n \t\tring->next_to_use = ring->count - 1;\n \t\twritel(ring->next_to_use, ring->tail);\n \t}\n@@ -2418,10 +2396,6 @@ static void i40evf_init_task(struct work_struct *work)\n \n \tadapter->flags |= I40EVF_FLAG_RX_CSUM_ENABLED;\n \tadapter->flags |= I40EVF_FLAG_RX_1BUF_CAPABLE;\n-\tadapter->flags |= I40EVF_FLAG_RX_PS_CAPABLE;\n-\n-\t/* Default to single buffer rx, can be changed through ethtool. */\n-\tadapter->flags &= ~I40EVF_FLAG_RX_PS_ENABLED;\n \n \tnetdev->netdev_ops = &i40evf_netdev_ops;\n \ti40evf_set_ethtool_ops(netdev);\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c b/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c\nindex ba7fbc0..c5d33a2 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c\n@@ -270,10 +270,6 @@ void i40evf_configure_queues(struct i40evf_adapter *adapter)\n \t\tvqpi->rxq.max_pkt_size = adapter->netdev->mtu\n \t\t\t\t\t+ ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN;\n \t\tvqpi->rxq.databuffer_size = adapter->rx_rings[i].rx_buf_len;\n-\t\tif (adapter->flags & I40EVF_FLAG_RX_PS_ENABLED) {\n-\t\t\tvqpi->rxq.splithdr_enabled = true;\n-\t\t\tvqpi->rxq.hdr_size = I40E_RX_HDR_SIZE;\n-\t\t}\n \t\tvqpi++;\n \t}\n \n",
    "prefixes": [
        "next",
        "S35",
        "v3",
        "5/9"
    ]
}