From patchwork Fri Mar 30 11:59:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Vadim Lomovtsev X-Patchwork-Id: 893326 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=caviumnetworks.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iCXEqy5n"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="M4xb0SpA"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40CL0y4RzLz9s16 for ; Fri, 30 Mar 2018 23:05:38 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=s6UPuuHyzgVwScbw9+BTNeDBbnmoGLwru09b3KyNdbk=; b=iCXEqy5n8Jy7oz znjX2OSgG2PwQt2bgyG0Kvrv971Vthaieh/Ac/YaDft+PECY/FdB81PwLdkxYeDGmxzj9lqDTtr3P PWHelSmwvA0j++GYTcHt+ndkUXCz3NyU/+9l1H4pGE4/3xAgBO0SUqP6I0rxQYu74IlV2vxDZGc2E FHXTXZZTltAqTdU0103sDDF/7cnEVN1deFw6OXIcF3/K7/12LjTTe/oQN5XSG9JQ6FSn2TIYfG4kv h0arXYlYPvEDiooGfLbv1FWgUfFDJ75Zh7AgsEP04RGiIaUTIstqhfJZCKXh/BbNKHUB3CX12v1Yl OM4vbrs9xbCTG8ADWvWg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1f1smf-0005U1-Dp; Fri, 30 Mar 2018 12:05:29 +0000 Received: from mail-by2nam01on0631.outbound.protection.outlook.com ([2a01:111:f400:fe42::631] helo=NAM01-BY2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1f1si5-0001Sb-2L for linux-arm-kernel@lists.infradead.org; Fri, 30 Mar 2018 12:00:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Z0UOXKIMYzcWhfOq8GNUKv7mGom2ErrI15iSzgQ2Dx8=; b=M4xb0SpAfyr7GEMJXUiLKQtW+ykaf5fhajPjrQLezDSBecEBBRx3t7L/X5UzfAZjufkn2cqu3SVKRYjdlddpuxALVQGUCF/+Mlf5RqqAiaFK64Is14RzQs7s+k3mAmQ5woDlDCPBjeJvZyWSUPp7ExN4uiXGhj9AQkph3hZW6c4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Vadim.Lomovtsev@cavium.com; Received: from localhost.localdomain.com (50.233.148.156) by CY4PR07MB2997.namprd07.prod.outlook.com (2603:10b6:903:d0::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.609.10; Fri, 30 Mar 2018 12:00:32 +0000 From: Vadim Lomovtsev To: sgoutham@cavium.com, sunil.kovvuri@gmail.com, rric@kernel.org, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net Subject: [PATCH v2 6/7] net: thunderx: add workqueue control structures for handle ndo_set_rx_mode request Date: Fri, 30 Mar 2018 04:59:52 -0700 Message-Id: <20180330115953.17154-7-Vadim.Lomovtsev@caviumnetworks.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180330115953.17154-1-Vadim.Lomovtsev@caviumnetworks.com> References: <20180327150736.10718-1-Vadim.Lomovtsev@caviumnetworks.com> <20180330115953.17154-1-Vadim.Lomovtsev@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: CO2PR04CA0006.namprd04.prod.outlook.com (2603:10b6:102:1::16) To CY4PR07MB2997.namprd07.prod.outlook.com (2603:10b6:903:d0::11) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ec10399c-7684-4c36-8ed1-08d59635d74f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603328)(7153060)(7193020); SRVR:CY4PR07MB2997; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB2997; 3:RbIKYwFT+l5scRX/YFFP7SbyuAOoWEgbq0AbcMybJ4q+aD99R+yHSb5CarI0CI6tM6/9WCWGuOr8RYj4PUJMRQs2/85uwnGs/ftdhoBCGuqeqQDNgV7kE5NjAnQHevtsDcHIb2Pbm7ItOb/VSsO10qmO1xozbBf0qBF3WiHJ0AKh+UmkdW+Ff36Rizmju4Fbhmq2zv+EyxE/w0fdJCvwlyYzb9PlG/Cc0/jEuRtoTJfYImWFeb8smSQnaIdfJzKi; 25:cCUC5shM9b2IG1QWv4q1YIb7XYgEvDvCxO7DilOF+mR0mFrONmFyPuHlOJUVi4Q5B+o0t7IBzfwCHE0EoT//XQp/H7PmMCBbiSN9wrcSFksXKqExWgnVPynnEKnZGQ79FtD6PtLPY0R+t0BIsGM/0tB8SaSZWULwcPL4lrBsY2yTV5fpXUsAW1pt4sPnsDPIYta6GGn1DUulWQsoQ7/HynXL/P837zp6MJ6zqc2ZpaWbvfLl0yNy9lTy3WyklS1AxsPsI0bnvN1TWlbyeEw2jP5bFHo+PezOqMFaam/lhiwQhZ0XQ6WmDJsfBTvqOBw7eONhiCeYuV/oZrbVjEGeKw==; 31:WPQ3jf6VhYj/rKJqz7OgtFiADLYp8zLyIJ8CTUXmU/ct8yZ3lMOOrvHTLD8wlWThucbRbV1NJE3x5YpJ2oGYpYqVjax4NcFTVf16BaCP1BjbAHbEQ+FNEGLN6y9eplvSZKUQmJ5VBfMVU9uJNHBuQ8mUZQyyx7a+oYo32v7pxLlGRk1kmZkeK1B1zFYB5oUCYRLVLPksPbumENFZVXBqux4i/8ObYSo4DPrE9u2Y6a4= X-MS-TrafficTypeDiagnostic: CY4PR07MB2997: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB2997; 20:u7epodgzBTs2ALY3Ui72JUJ8QAzD1pj5buy7yEztBfE72kgZ/H/D6x+XTBEtZMnJcpdJAiQzh+55o5h6UUaOX4/AB8SVhLbl3sWniFirjRN1SUhdDXdU8KGzXBzK0jDY20rj4V8c61i5ksI0QklSYHr6dUn07ip26Fh5Ujug+vMDRw3V8x+ilHK4G+Xs5drGw3Ud2OOWkp1rLGWow6diF1wGcnra49+G1wI5DaI1nwvwGq8h/U6UNo2fHuu9Xgs2xQqYgl3kZMW5QI1j1Gi4EUxZh7Yby6tza3xPIe60XMU/Bxeh++L5J0JJe8gIsgQEw+VmJDQCuq3XD4RU4su0GHoKb6IkDeoQnw47FCxKpVtmm60yjr+BqtS+8XkcKsyGMFNfCxx6uznbjyEqzWBZvT5YGfU8nNdiTaBn+H2Ah+w5nm0A3t7ivAjR01J30QX1hY0PG8l2/hcEYS17J6jk19hNnDB5rk4gYBHgU85PhowGZn+LnnFu62qAXnXmpNFGDV8BQrFa424+aAo8pLDyIWLhw1jahBizhicB2bfqV0PQ92j5vTDZjfgN2etLRd/zua0YdTpZiLVt/CgjvijU610ZSs5iUHNX5RQfRKMWLRQ=; 4:jQG/mAwaRNbqAiZj7TM9u411ho74oH/0xfSoCGCMo1TyL/tXWn5WR3tIUVkUo77pmroA5jRhf4+bKahZLkbqE0LgPMOIzWG1A0DSIQeLGr9ZEmwnv/dAU8roVyhH/mclEORBiYXP4UsvRHhL+nGdDQRl6VhUiZtWB3pmpAPgZXAyqjvYNqp1hZ96K8Vx8uvfT0PuawSKkrQLVX55eNvIqle+hAeOwLrnESmE6qijxFhIWCRQ4Nd5inl8XiOD/GDai88VAIbdlcsSe+73mU5fWg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(10201501046)(3002001)(3231221)(944501327)(52105095)(6041310)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:CY4PR07MB2997; BCL:0; PCL:0; RULEID:; SRVR:CY4PR07MB2997; X-Forefront-PRVS: 06274D1C43 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(396003)(376002)(39380400002)(346002)(366004)(39850400004)(189003)(199004)(3846002)(6116002)(1076002)(105586002)(81156014)(81166006)(8676002)(50466002)(53416004)(5660300001)(52116002)(97736004)(23676004)(6506007)(8936002)(59450400001)(76176011)(386003)(69596002)(2906002)(6486002)(6512007)(72206003)(39060400002)(6666003)(47776003)(316002)(7736002)(106356001)(486005)(486005)(476003)(107886003)(446003)(305945005)(53936002)(11346002)(2616005)(66066001)(16526019)(956004)(478600001)(68736007)(36756003)(50226002)(26005)(4326008)(2870700001)(42882007)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB2997; H:localhost.localdomain.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY4PR07MB2997=3B23=3A22c8?= =?utf-8?q?6NW9lTucn9npinNS1D8ytKddaZeiP32FaGItGuv64SHgHA01hGVxui1D?= =?utf-8?q?2Bd6tTaBB8jMV5YPbdp+7mlNKc/1tsEtSFszJh18n4YC8G6OezaZuZ1u?= =?utf-8?q?tff/1YRZDozku7+/cG6yO15pFSAOniadZxm+m+Ay6pBO+nNPgbEd/34M?= =?utf-8?q?D4k33sl/mM+ctkn5/afS40enGlDCH1EALlFbbwFNLvYgUjzy3XXQ2Nl/?= =?utf-8?q?aPTG/OLT+W+EO4oO1yxz4xaZrpGnfWic9XlTAgVd8hDt789kl/WYow2b?= =?utf-8?q?aMlMzc2TyHCDKO2soU7gYlPkpNwYLj4swTejWy1hYTJu8TZq0fVDEB//?= =?utf-8?q?AXNU/Fx0HsewZS0Vs554jVhFdieBXgj3ZYPPto3zzr0ofdUZ62dPzMcg?= =?utf-8?q?OqU8sP4VXH113zzNxfCycMoyIC0u9848j0elVDDTgUT/AzaQx7d/wqno?= =?utf-8?q?Srl3D/fWLfYXDChaI/jgX/gPaQuD6YsFHWYqv36nbKpev1bUu1ZLtTkV?= =?utf-8?q?0b+I/cZvU9LMBe3ODJtH2ATUu+LSIzYtJLaoOyfXF6oPe89w7o2MptBf?= =?utf-8?q?yXlcldl5TgJWAPq0BdEBnZoHApgpde0LMOlx2Ru4ABEBLlApdvvOwJ8J?= =?utf-8?q?iyqWuzPIpnOam9eH4u6K+r0fWROM9iBI9GewW3nga1+x4BmKdrQdIRhc?= =?utf-8?q?664RsS9LJouCjiu+StYvMYzhOjZ8Vcdton6C/jB+vIbyXc6QQjYR7O8G?= =?utf-8?q?fpU0MkgX0vTGpgKjdoB87RLsiA7oLXXlew+0Yek5rlG0UWJTFfZ6lu0H?= =?utf-8?q?epFxNRdw1AQQH/D8/gvD0NS+xhNsnMRu5Q29PoTxsIkqC1WPnHNBSwzb?= =?utf-8?q?9BZINvbM1IqoaSbmVe7OlvBU0uAZV62EG5uzA4+T8twdMvHhRtlS4Bm1?= =?utf-8?q?1jRUEWecYz0/o4Q+4Jo9IlBRYvEbSzN+FbGP01vqf0lcyVWopgKRmYyy?= =?utf-8?q?H8bIvskQkLj5kaeDMoCXjZfOf/EoctZeZAoS2Z8gdDidyzS4JcoJ/0xS?= =?utf-8?q?VuUL4Ph95mXa1ySWx1cWp7cV8SR4XYY52PsCsAHo7w56z+kgO6Xiz+m4?= =?utf-8?q?C6bs7eMuecqMhG52v1FmOnyLS0uEbBikCJ2o2NAOeJD7qWpxhiRICOGb?= =?utf-8?q?kuGcGXE/2I/HBAAlygA4xxy0ZWQc4A1k9SjHIT950M4RscS0ET0ElNAo?= =?utf-8?q?30VoxiTj6eZM0eX3ckt5CFfD1LmXxMT5fB7Zh8a/i66yxfpc6IE7IO9S?= =?utf-8?q?Hzrg46i8wFSrCq1juZ31H06U5RcMbspgcFnD+uHj2YxcUj8r8KjkJJTy?= =?utf-8?q?xqOp1XRJMpJcKLlE6IaZWDQy/oQxeYc=3D?= X-Microsoft-Antispam-Message-Info: c1GyIlKqiRDEosy4bDFQBankWAAF0bz5fnAH2OEVEAjwGmIBkbVEQi5lMMrBYLOYI4QPqXHunniG19NVYwD59PIjj4E6QrtZRw4px5Ze2IA66iJ3b6l07itj7799EZHPDEnMrJwFkohMmBKlaOKbAhnjo3mSgCTN4JhRLly7uk7NNViA2O/1J+1CxuVk5IMh X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB2997; 6:vX/JR4Kc6DzVLiEaxJ2nB/o2vmUhR5z6ba+C6uu6BHomH/qN8ZDRY6NhIx9Om0XcEFkk1F9rvAUsXB6bkJeLiIRrURrr2sCHoPgsWkruesfxhvwj9vGIj2wJButn/QW5T/Yvbo9biSOCgD3KslRlO1fyVf8GFu5raOtpn4XymFsqXyq3Xr0A3eQnxqqGRtx88HFsjg2RdtmBff4uFxZypq0GzK0jkNLjEzvd+KpMyMEnaCqNd+RBBkSyUhHPkGruhLqXIVKZGXGmjWErBTx4kTUdo+uxds/8j/oeGaUQJlReJxMSodoxBit+vLMRmAujGa5nsLRb4DFe1Wq77Z1EjwPJa17ERZHhC/4ax0mXmuc8s8D7F/DXwMNFQhJIsIV7EKIGdvpgEGUeG0XHSfQjdkacMm8YlTfv3SSCt5y8Q60dqPBdInTHwSSh6vtxGKG8yW9mRaLUPNz0e5pWPPxGRg==; 5:WZf3YvcpQeP4yKwgfHypfKjS3oamNgD/VVmcFCh+8+pqBTTIBKdAFSb9TIETXMU4EExNRAXqk0ymCUao2VMfqkCahPPK74HaaAnOqEav9BF1+wA+bZ9VbmNQ64iTR5DldyK3qwMbWsmcW94VACxNhh62+IagevrT5T01pnk8Ldw=; 24:iC790EQom9jUCiAK7+Y06AoXiMqLpzHP0hXtoaX8KCLWOeB0mYfT1w/qTw8wlFnijQfxQ6gYB/s/Jx8QB+RsUwEEt21twOnpJtWB1Bohu2U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB2997; 7:CPs4cBzgZExxxRNgcHIxgDnD1S8Zn/Xg4sW9b9QODNRct+ovszATPPDbvY5rPITcXLmDSoMu30WQ90wjW6zMFOsxlmWoRJbdqXBqfR3Hk+3FgjX0aSjFIy0aJHDjrvk7rWeL5he+RsiDhC6SCy38lfp+XR3toZ+tqKVykxb1YgiOqoIAkZ7sDhF3TSW+COPVb8Y6EKvPt2z6wodKOCdfW49A2FEqWx03tBloLHbT6W6OQG8hs/RZVBLNrg+IU3PX X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2018 12:00:32.6916 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec10399c-7684-4c36-8ed1-08d59635d74f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB2997 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180330_050045_158440_108F8B06 X-CRM114-Status: UNSURE ( 5.64 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.2 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a01:111:f400:fe42:0:0:0:631 listed in] [list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dnelson@redhat.com, ynorov@caviumnetworks.com, Vadim Lomovtsev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org From: Vadim Lomovtsev The kernel calls ndo_set_rx_mode() callback from atomic context which causes messaging timeouts between VF and PF (as they’re implemented via MSIx). So in order to handle ndo_set_rx_mode() we need to get rid of it. This commit implements necessary workqueue related structures to let VF queue kernel request processing in non-atomic context later. Signed-off-by: Vadim Lomovtsev --- drivers/net/ethernet/cavium/thunder/nic.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/ethernet/cavium/thunder/nic.h b/drivers/net/ethernet/cavium/thunder/nic.h index 069289b4f968..5fc46c5a4f36 100644 --- a/drivers/net/ethernet/cavium/thunder/nic.h +++ b/drivers/net/ethernet/cavium/thunder/nic.h @@ -265,6 +265,22 @@ struct nicvf_drv_stats { struct cavium_ptp; +struct xcast_addr { + struct list_head list; + u64 addr; +}; + +struct xcast_addr_list { + struct list_head list; + int count; +}; + +struct nicvf_work { + struct delayed_work work; + u8 mode; + struct xcast_addr_list *mc; +}; + struct nicvf { struct nicvf *pnicvf; struct net_device *netdev; @@ -313,6 +329,7 @@ struct nicvf { struct nicvf_pfc pfc; struct tasklet_struct qs_err_task; struct work_struct reset_task; + struct nicvf_work rx_mode_work; /* PTP timestamp */ struct cavium_ptp *ptp_clock;