Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/840486/?format=api
{ "id": 840486, "url": "http://patchwork.ozlabs.org/api/patches/840486/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20171122185628.29785.72704.stgit@localhost.localdomain/", "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": "<20171122185628.29785.72704.stgit@localhost.localdomain>", "list_archive_url": null, "date": "2017-11-22T18:56:28", "name": "[jkirsher/next-queue,03/16] ixgbe: Add support for macvlan offload RSS on X550 and clean-up pool handling", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "ba8a025597e63de3cfaf73e747a8a98c1c9db344", "submitter": { "id": 252, "url": "http://patchwork.ozlabs.org/api/people/252/?format=api", "name": "Alexander Duyck", "email": "alexander.duyck@gmail.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/20171122185628.29785.72704.stgit@localhost.localdomain/mbox/", "series": [ { "id": 14756, "url": "http://patchwork.ozlabs.org/api/series/14756/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=14756", "date": "2017-11-22T18:56:10", "name": "ixgbe/fm10k: macvlan fixes", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/14756/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/840486/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/840486/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.136; helo=silver.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"UAI501HO\"; dkim-atps=neutral" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\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 3yhsXg04qmz9s1h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 23 Nov 2017 06:12:34 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 354FA2D00E;\n\tWed, 22 Nov 2017 19:12:33 +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 zjfR2XdbSThF; Wed, 22 Nov 2017 19:12:31 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id D2D552EEC7;\n\tWed, 22 Nov 2017 19:12:30 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 24A781C2314\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 22 Nov 2017 18:56:31 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 1E9EB888C2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 22 Nov 2017 18:56:31 +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 H9M+6yITSmv8 for <intel-wired-lan@lists.osuosl.org>;\n\tWed, 22 Nov 2017 18:56:30 +0000 (UTC)", "from mail-pg0-f68.google.com (mail-pg0-f68.google.com\n\t[74.125.83.68])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id 7CC4A8876F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 22 Nov 2017 18:56:30 +0000 (UTC)", "by mail-pg0-f68.google.com with SMTP id c123so12947980pga.11\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 22 Nov 2017 10:56:30 -0800 (PST)", "from localhost.localdomain ([2001:470:b:9c3:9e5c:8eff:fe4f:f2d0])\n\tby smtp.gmail.com with ESMTPSA id\n\tg7sm24474345pgn.43.2017.11.22.10.56.29\n\tfor <intel-wired-lan@lists.osuosl.org>\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 22 Nov 2017 10:56:29 -0800 (PST)" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=subject:from:to:date:message-id:in-reply-to:references:user-agent\n\t:mime-version:content-transfer-encoding;\n\tbh=bKoItwm6sFXrVrfGBjEb5Z9uuZFPv4IKjScMACJjOiw=;\n\tb=UAI501HObJqmOC0gAEHk0eafbSDTP+gB616wmvBHOiCMqIUDWirAvVDZXJrQwQcLRu\n\tuZO9ZUS9ZYIOSyfHTC/S2rc57ZeabcGL/BQHXQeaXhqdued69x0qslAU8d3cU91nPSP6\n\tma9vWDer4WsGtqE7eaLF+2Q4r7O1sgCZUHl2szWLlc7V+MLrRX8Lj27alhOPcdmXiNNk\n\tjYjWAXQx52Lhl6j4rhoPSyY48gQZmymtAcFSHkEyZK6Onu25Zybh7/OGMzRP+nbQMEWe\n\tgBYGNitkmnpT20NA1b67Pvkd0BpFFZglK6k7o9lVfFNyns2gDguIVPNSZNSz0Dh9EfnE\n\tU71A==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:from:to:date:message-id:in-reply-to\n\t:references:user-agent:mime-version:content-transfer-encoding;\n\tbh=bKoItwm6sFXrVrfGBjEb5Z9uuZFPv4IKjScMACJjOiw=;\n\tb=Tmy5xQdEeu7ZjfeeJOhJP0BunQrpz5GicVTNJs3ryxtswGslYUBRG6oZ4HPnCbzxle\n\t4gCOdnYuHIcsQ9hrY3YDOykBr9MlkZSr2cmfXyzU1igxR+bS9Jqu0yCSxQjWM9yJSePP\n\tNU8XAnL5HmKnF4vCfYcSvFfEuy2+z+SI2LJvV8Pf0S1a022XfJfiJrpoue7p30X/b34f\n\to0wHQAKFhu7oZkqOvqBwQlmEOZDBE/bvqKKzyRFxsYQ9n1pstDotU2le9sMIzKjUG74V\n\t2TYQW2OGC+AGJXiMng0M8ZwyV639+XF70HniwScrt4yo/xPvEY/K+55WbHyHmhoqkGlY\n\t7YDg==", "X-Gm-Message-State": "AJaThX7GDmjmmzWkBs1vnggCzi9918gm5vTwkCtkxxADyLlRIvYeSZ+D\n\tXFTKbjWRCJoTVJWH/Z27Pg04/bfC", "X-Google-Smtp-Source": "AGs4zMaQUqm4CdwlnQ1e82+s+W7BMZidItqOLVSfDqom//KBqbVcFqh8ukmTmTlqct7QSdTvql4ZCQ==", "X-Received": "by 10.98.218.67 with SMTP id w3mr20468070pfl.128.1511376989745; \n\tWed, 22 Nov 2017 10:56:29 -0800 (PST)", "From": "Alexander Duyck <alexander.duyck@gmail.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Wed, 22 Nov 2017 10:56:28 -0800", "Message-ID": "<20171122185628.29785.72704.stgit@localhost.localdomain>", "In-Reply-To": "<20171122185256.29785.93548.stgit@localhost.localdomain>", "References": "<20171122185256.29785.93548.stgit@localhost.localdomain>", "User-Agent": "StGit/0.17.1-dirty", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [jkirsher/next-queue PATCH 03/16] ixgbe: Add\n\tsupport for macvlan offload RSS on X550 and clean-up pool handling", "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>", "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: Alexander Duyck <alexander.h.duyck@intel.com>\n\nIn order for RSS to work on the macvlan pools of the X550 we need to\npopulate the MRQC, RETA, and RSS key values for each pool. This patch makes\nit so that we now take care of that.\n\nIn addition I have dropped the macvlan specific configuration of psrtype\nsince it is redundant with the code that already exists for configuring\nthis value.\n\nSigned-off-by: Alexander Duyck <alexander.h.duyck@intel.com>\n---\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 62 ++++++++++---------------\n 1 file changed, 25 insertions(+), 37 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex 9c6d4926a136..060474747ecc 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -3844,16 +3844,20 @@ static void ixgbe_store_vfreta(struct ixgbe_adapter *adapter)\n \tu32 i, reta_entries = ixgbe_rss_indir_tbl_entries(adapter);\n \tstruct ixgbe_hw *hw = &adapter->hw;\n \tu32 vfreta = 0;\n-\tunsigned int pf_pool = adapter->num_vfs;\n \n \t/* Write redirection table to HW */\n \tfor (i = 0; i < reta_entries; i++) {\n+\t\tu16 pool = adapter->num_rx_pools;\n+\n \t\tvfreta |= (u32)adapter->rss_indir_tbl[i] << (i & 0x3) * 8;\n-\t\tif ((i & 3) == 3) {\n-\t\t\tIXGBE_WRITE_REG(hw, IXGBE_PFVFRETA(i >> 2, pf_pool),\n+\t\tif ((i & 3) != 3)\n+\t\t\tcontinue;\n+\n+\t\twhile (pool--)\n+\t\t\tIXGBE_WRITE_REG(hw,\n+\t\t\t\t\tIXGBE_PFVFRETA(i >> 2, VMDQ_P(pool)),\n \t\t\t\t\tvfreta);\n-\t\t\tvfreta = 0;\n-\t\t}\n+\t\tvfreta = 0;\n \t}\n }\n \n@@ -3890,13 +3894,17 @@ static void ixgbe_setup_vfreta(struct ixgbe_adapter *adapter)\n {\n \tstruct ixgbe_hw *hw = &adapter->hw;\n \tu16 rss_i = adapter->ring_feature[RING_F_RSS].indices;\n-\tunsigned int pf_pool = adapter->num_vfs;\n \tint i, j;\n \n \t/* Fill out hash function seeds */\n-\tfor (i = 0; i < 10; i++)\n-\t\tIXGBE_WRITE_REG(hw, IXGBE_PFVFRSSRK(i, pf_pool),\n-\t\t\t\t*(adapter->rss_key + i));\n+\tfor (i = 0; i < 10; i++) {\n+\t\tu16 pool = adapter->num_rx_pools;\n+\n+\t\twhile (pool--)\n+\t\t\tIXGBE_WRITE_REG(hw,\n+\t\t\t\t\tIXGBE_PFVFRSSRK(i, VMDQ_P(pool)),\n+\t\t\t\t\t*(adapter->rss_key + i));\n+\t}\n \n \t/* Fill out the redirection table */\n \tfor (i = 0, j = 0; i < 64; i++, j++) {\n@@ -3962,7 +3970,7 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)\n \n \tif ((hw->mac.type >= ixgbe_mac_X550) &&\n \t (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) {\n-\t\tunsigned int pf_pool = adapter->num_vfs;\n+\t\tu16 pool = adapter->num_rx_pools;\n \n \t\t/* Enable VF RSS mode */\n \t\tmrqc |= IXGBE_MRQC_MULTIPLE_RSS;\n@@ -3972,7 +3980,11 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)\n \t\tixgbe_setup_vfreta(adapter);\n \t\tvfmrqc = IXGBE_MRQC_RSSEN;\n \t\tvfmrqc |= rss_field;\n-\t\tIXGBE_WRITE_REG(hw, IXGBE_PFVFMRQC(pf_pool), vfmrqc);\n+\n+\t\twhile (pool--)\n+\t\t\tIXGBE_WRITE_REG(hw,\n+\t\t\t\t\tIXGBE_PFVFMRQC(VMDQ_P(pool)),\n+\t\t\t\t\tvfmrqc);\n \t} else {\n \t\tixgbe_setup_reta(adapter);\n \t\tmrqc |= rss_field;\n@@ -4135,7 +4147,7 @@ static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter)\n {\n \tstruct ixgbe_hw *hw = &adapter->hw;\n \tint rss_i = adapter->ring_feature[RING_F_RSS].indices;\n-\tu16 pool;\n+\tu16 pool = adapter->num_rx_pools;\n \n \t/* PSRTYPE must be initialized in non 82598 adapters */\n \tu32 psrtype = IXGBE_PSRTYPE_TCPHDR |\n@@ -4152,7 +4164,7 @@ static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter)\n \telse if (rss_i > 1)\n \t\tpsrtype |= 1u << 29;\n \n-\tfor_each_set_bit(pool, &adapter->fwd_bitmask, 32)\n+\twhile (pool--)\n \t\tIXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(VMDQ_P(pool)), psrtype);\n }\n \n@@ -5268,29 +5280,6 @@ static void ixgbe_macvlan_set_rx_mode(struct net_device *dev, unsigned int pool,\n \tIXGBE_WRITE_REG(hw, IXGBE_VMOLR(pool), vmolr);\n }\n \n-static void ixgbe_fwd_psrtype(struct ixgbe_fwd_adapter *vadapter)\n-{\n-\tstruct ixgbe_adapter *adapter = vadapter->real_adapter;\n-\tint rss_i = adapter->num_rx_queues_per_pool;\n-\tstruct ixgbe_hw *hw = &adapter->hw;\n-\tu16 pool = vadapter->pool;\n-\tu32 psrtype = IXGBE_PSRTYPE_TCPHDR |\n-\t\t IXGBE_PSRTYPE_UDPHDR |\n-\t\t IXGBE_PSRTYPE_IPV4HDR |\n-\t\t IXGBE_PSRTYPE_L2HDR |\n-\t\t IXGBE_PSRTYPE_IPV6HDR;\n-\n-\tif (hw->mac.type == ixgbe_mac_82598EB)\n-\t\treturn;\n-\n-\tif (rss_i > 3)\n-\t\tpsrtype |= 2u << 29;\n-\telse if (rss_i > 1)\n-\t\tpsrtype |= 1u << 29;\n-\n-\tIXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(VMDQ_P(pool)), psrtype);\n-}\n-\n /**\n * ixgbe_clean_rx_ring - Free Rx Buffers per Queue\n * @rx_ring: ring to free buffers from\n@@ -5429,7 +5418,6 @@ static int ixgbe_fwd_ring_up(struct net_device *vdev,\n \t\tixgbe_add_mac_filter(adapter, vdev->dev_addr,\n \t\t\t\t VMDQ_P(accel->pool));\n \n-\tixgbe_fwd_psrtype(accel);\n \tixgbe_macvlan_set_rx_mode(vdev, VMDQ_P(accel->pool), adapter);\n \treturn err;\n fwd_queue_err:\n", "prefixes": [ "jkirsher/next-queue", "03/16" ] }