From patchwork Mon Oct 2 08:23:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kalderon, Michal" X-Patchwork-Id: 9980379 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A3D546029B for ; Mon, 2 Oct 2017 08:24:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 965DB28952 for ; Mon, 2 Oct 2017 08:24:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8B0DF28955; Mon, 2 Oct 2017 08:24:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ED56128952 for ; Mon, 2 Oct 2017 08:24:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750940AbdJBIYn (ORCPT ); Mon, 2 Oct 2017 04:24:43 -0400 Received: from mail-sn1nam01on0059.outbound.protection.outlook.com ([104.47.32.59]:22558 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751061AbdJBIYk (ORCPT ); Mon, 2 Oct 2017 04:24:40 -0400 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=D+LgvElR1y9ugf1VHUVy5KEvghx5SPjV3Cjl70GH018=; b=EhfCvZBx25/bwXLfvvT9MgNOSDb5/MTqEC37nPNgO2DmZR+0wGqd4eVCIXASKZnmWYWpCIuiwcWBTKHDDz3rPWqZF7RUKCqyvrumMb9hhNUoGqyaD1PHrI7QVZn5YK1ynkz/NkOI1xqyC+mQz4rTC+lVt/QL2xxQ+or2fecMbsc= Received: from DM5PR07CA0047.namprd07.prod.outlook.com (10.168.109.33) by SN1PR0701MB2093.namprd07.prod.outlook.com (10.163.132.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Mon, 2 Oct 2017 08:24:38 +0000 Received: from BL2FFO11FD023.protection.gbl (2a01:111:f400:7c09::135) by DM5PR07CA0047.outlook.office365.com (2603:10b6:3:16::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.56.11 via Frontend Transport; Mon, 2 Oct 2017 08:24:38 +0000 Authentication-Results: spf=none (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BL2FFO11FD023.mail.protection.outlook.com (10.173.161.102) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.56.11 via Frontend Transport; Mon, 2 Oct 2017 08:24:37 +0000 Received: from lb-tlvb-michal.il.qlogic.com.com (10.185.6.89) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Mon, 2 Oct 2017 01:24:34 -0700 From: Michal Kalderon To: CC: , , , Michal Kalderon , "Ariel Elior" Subject: [PATCH net-next 02/12] qed: Add ll2 ability of opening a secondary queue Date: Mon, 2 Oct 2017 11:23:48 +0300 Message-ID: <1506932638-26268-3-git-send-email-Michal.Kalderon@cavium.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1506932638-26268-1-git-send-email-Michal.Kalderon@cavium.com> References: <1506932638-26268-1-git-send-email-Michal.Kalderon@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(2980300002)(428002)(189002)(199003)(81166006)(81156014)(8676002)(76176999)(50986999)(2906002)(105586002)(106466001)(6666003)(101416001)(8936002)(107886003)(47776003)(478600001)(72206003)(4326008)(2351001)(50226002)(104016004)(36756003)(189998001)(86362001)(575784001)(69596002)(16586007)(5003940100001)(54906003)(316002)(5660300001)(50466002)(48376002)(6916009)(2950100002)(305945005)(77096006)(356003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0701MB2093; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; PTR:50-232-66-26-static.hfc.comcastbusiness.net; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD023; 1:FuuPEKslCVeycLogRDlpLvDohdj0X5TEPROXKNyTc9HmkkXDGXkbI2E/sfXYvKeaxcqeiUcdcoK+mm5C+vpH4cwsjMscyqkj300m6B4nZB137ajby8iGTSLgUocaIBc5 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a09c0e3-10a1-4ad5-c254-08d5096f057a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:SN1PR0701MB2093; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB2093; 3:QIfxoaX0oqG3UWOPlAmdQcmvRMQQW5+YoqWnfo2d5GG6q23feiqvDKGNx6v+RKrOPjuadgDJWBBgvqvobJNjpVFNYKqB+VRVwRMRBwa+5+osjZG2NBNP4KLTjGLGcuySq/TsxZdtgdn85jGNRCjg5Tdjc+sK5zg+yqSE1AI/jMI+PvvY+Y0QPNVInHyuMqTUB8Yl8T6qW/ZkFotH2tb+UCYbKR7ek8D+XlsU2oM5OOFAbiThHrth7q/OkFEXCUjzPGPTXzIEKpNWTFC8A25U1kBEGUoQB4rlhEeUZuovF07puv2V3GZ4oP3L900eoGhMV5oCLsnMmS6Eb59bIGbI8A==; 25:i8rC+EeTonPY1xQXwIMTjmq1GEVtFJeoQRCH38xhsbk1E5cjgkxMVxJnPWcNEk61B43OhCvMTqMO0vJTiaDSCJwYGAfqM+fGmVddoxu9XN420a1eqQeY1bVHi5xrI5XFnR7cZ+HF0kHdEva/FDx83Wh6NYc1gI+EsQbemOYfY1Clv8pos6+vlnfNcHnt/Z+PYzbOB4AYsLDLuwoi2sd4jo8ZxgV8HOOp09IGI8DDJz8sNzqSvkTN07HnQcDTpVkrhrWTFSJD1X3Z5WwCgB+wllbqZC35sFbqJhWRzE2/JptBURNsWetRZcpSejHlQ3hBOL0sFKbALcqXyYieTI2N5g==; 31:a16sNKX12BZtd7pSOkYTtKCFDRCYgZKTSDnYjc+pJBEiaN9mQ09D2For6TZom2xZlDDF9aQLnXCfiY2rPQdzgBam8qATgGGlE/ia1IZqGAtvKNLWHmfwvqe0fZ7UUJi5x7fQRDTqSlkCjN3rS2Dp/Ai5qw+SVd5IVTtktEqgCS8Kc8CewctgcCxVvY+nE44rwcKjGR+BqqjMXaGK+btXO3pN5mf2SFxdKkxqIO2XTZo= X-MS-TrafficTypeDiagnostic: SN1PR0701MB2093: X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB2093; 20:Bs7lbkGPI0egEYJh/Z8E23EDURx26nGX7/lfFDezVJmX3tlbyUvSzmQMM54ZQXdqGLrTRzhrzeIY/b4PLHu+YfMQRLs4Yp96YsDm8dvPOCPfCQiYtnCLMrG2CofuGAL3EEhhugoYQ3WUDW+RLnaN/pkb/X29SSIGl/DJZOkZWio21SYSerAFqR2Y2joLpIqYShK0cySFkZD/JX9PSk7fz6r9YyEAJYiA8jyVxjF82OMpw+rr+v+y4QtzgLy27KzbH5gKLxCXPFeABRpQQLU+xINkG1ae+PTT3fUCAd1AEYAx73M/Eryp69JkjurEiAhCk+N6T23IKPMheHM7WWrbYfvC21eQcrAcpqc3CXXDI+rJ4hbjBSo1IPwiy9OxVQxJ1S7UnFedQykqmPM7YQtujSvgCvPlqp4bLcb+VesyFnQxOqVJmFNctz9mGVtDtOmAfeBdt7EM7TRzKnWe5sxzS2M//AX8aUn/7YJEuu+nKuVQa7DprXHiV8iwZZILC7HD; 4:8P5rh6ANyE7GtNpCO+/drO1Ng1r8KBRzAVzGMy6TnQCGagowDWDgzml+LGu6JPiFjjUsMj5ZhpVaTskMWZ5ITQ9cEeT42pn1jwFUp/FGCCoKvbvWIhsnBuouQpGNpJGI0ie01etxacw/bh45dP/TmXm5LKinh6wCSyp9FvXka8+gFb7k0bgbTkGCjT3/heLbNm60SMqOq7ooc26YVGqJnEbf0gAd9l1AyvG/gjAIdTlNvdLItmj9tlcTYsQDMTIw X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123555025)(20161123558100)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR0701MB2093; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR0701MB2093; X-Forefront-PRVS: 0448A97BF2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0701MB2093; 23:Eido9sPK100z/mBFUmXpDdd9UaCDFWqdrCA0Z24?= =?us-ascii?Q?bxByXz5QwJb6nYullGvBc33qkirVWu3mBBT3Pia53qqLB+gPqtt6MEdAQerX?= =?us-ascii?Q?WxIor7KOXjZIlKducJNmTn92x23Isd4gTe07J6qi4Na4WRTYNSA1FtVE12hf?= =?us-ascii?Q?edjUiIvZZGK5Vk2h6mWjGx/ZNCPvXv1VuuvFldmlHlgE411E0072sByqPlqg?= =?us-ascii?Q?p4FR6Vn4jOok1C1WaZEpmYX7TwYjVqXa+XVAN8VqzVYXf6GBWyGMnQjUN1a/?= =?us-ascii?Q?w/xJDxLylN5lZ7ldqLj+VIm1Jplr2b+G+AculqBP0GVfgv3F5gVidfxCpTt8?= =?us-ascii?Q?nli9zh8Sbw0HWp9nP5D1jRsZXFXubdbe94f2auldGuFGBNjOzs8Z+FfCfafp?= =?us-ascii?Q?tnFk4wg8gMfC9l24P6PM/XZ7+mnLObaRpbhEar0SRygHxKJeUJl5XsB4DszA?= =?us-ascii?Q?J8TfA6sV7TkGkWlMCAZ7tYBT1Qxh8bsy/z0ISqaPukXa8jzF8CYCg9Ednnj0?= =?us-ascii?Q?CxT6hYWT6xJAr3kU3yLGC+KF3tPzWluXtkhgp4ow0VPA06KUVTQbSOGhfRF8?= =?us-ascii?Q?V7mDXA5lfT59FZJ1njZfdC688p6PrrbpHKEXMXWf7cLMQf69B0uZ6RM2eTR3?= =?us-ascii?Q?vhOlEK/f1TXRWAHmjDh6rm/J7Kfw1QACvrJUB4nOA3xK2ux0ljUhohdPWATE?= =?us-ascii?Q?Yurh+v9DO8OWPMVFw1JWyDFBeQB0slDqzdvxcG3e7ioxG1qilOaCosuEhAhg?= =?us-ascii?Q?rAJTvlwAYTv8Zl3BlEox1e6vC1CS8BWx6NjR3MZKswDhiXhml7YksccXN2gC?= =?us-ascii?Q?mcJadZESIt4ZF2wocgeyeqyFB5fyiLJbcKGWPydHzo/a3e3SQm0CRORntmtu?= =?us-ascii?Q?QX28HFSKOv690SoPkQy8G9Tw1hh2QEAanJDwhcVR6i9BFmtObKJnVpxCDOXB?= =?us-ascii?Q?flZSf+z73Hx2dXw/9LWQfxftAYn0w+ZAAip87BrgAnSHqKna7jBLeDw2G6Lr?= =?us-ascii?Q?IFtmCRwb7d8Np3tS+1dlIAifvpTI7MgB/f/t0FlMPXPMz6w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB2093; 6:qU/EFRhGpnDWROtFZjOhdsjLDZwBuBM/233RUqNWgLFGCrrVxuyGgvBY6dVq1sCDzQCCuiI/mLLdfztJxTrD3mPZa8PIcqil7hIt9xbN6AtKaneak9vD920OHePMG4AVuYFT6KpIjRfiH5n/kXlichTTYX7lrpH8Fyki+zIOBiWiOqifODznaVruGlHBjhb2w4Vf8Bi9W/xBQSwWeKMysUPLA38pvaaU1QziTZjB16yLfm6NQiaLQxRs/+EECXx+dY0LiRrBT+3uBUAiDlAQuPRkZzMP2h/3YaUR67hlzN1E3zaZ2losK+XpgaiZToXwWv+lhryDJjKGdWKgLM0Hkg==; 5:zl98+9R6knxEMNepWiDmCn3dWkO3WtCfYpdLgLFShqkCvLQZ2B0tI/WW76eQ0Ge25GG+Ww8ZX+wCGph+HdhQ03neTrSJQLhKEB5E4S1ozcLPdHlAo6edAr0lwbs3fWjbBGsGrB3BYw5aGFf0yWl83g==; 24:voqXMj9jtOPWPIEKbdMUWUkV3ZPnMEc+N9YIyACyWsEFMypC7QPaq6XtGli/RpaufTuOYDXi3y7gbUeGjdqyVPkFc7l7HLqPDdOZdiiPC1A=; 7:8CI8FCBda9GujujvDhpdnWDEee/Yn/RyYz22Hqmvk0gcz6wAPCILdSW2UmGXkkIUH3nQpQS8PUGyvWgrLR7cV3e7+v6YwiikUD2yvVFQK6I90RRmuzVzOZpC3np7y3rH53Uhce6MS4CF6AoTGz5xveO0dguq+xwCzvbIMis0Fv+R/t1pkviyAYy3WVX7t49lhvWu5MSHnKvn2s8ZyZT5XoLDRquzobFN8ekmTTeYJ2g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2017 08:24:37.7156 (UTC) X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0701MB2093 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When more than one ll2 queue is opened ( that is not an OOO queue ) ll2 code does not have enough information to determine whether the queue is the main one or not, so a new field is added to the acquire input data to expose the control of determining whether the queue is the main queue or a secondary queue. Signed-off-by: Michal Kalderon Signed-off-by: Ariel Elior --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 ++++++- drivers/net/ethernet/qlogic/qed/qed_ll2.h | 1 + include/linux/qed/qed_ll2_if.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c index 10e3a43..1dd0cca 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c @@ -894,7 +894,7 @@ static int qed_sp_ll2_rx_queue_start(struct qed_hwfn *p_hwfn, p_ramrod->drop_ttl0_flg = p_ll2_conn->input.rx_drop_ttl0_flg; p_ramrod->inner_vlan_removal_en = p_ll2_conn->input.rx_vlan_removal_en; p_ramrod->queue_id = p_ll2_conn->queue_id; - p_ramrod->main_func_queue = (conn_type == QED_LL2_TYPE_OOO) ? 0 : 1; + p_ramrod->main_func_queue = p_ll2_conn->main_func_queue; if ((IS_MF_DEFAULT(p_hwfn) || IS_MF_SI(p_hwfn)) && p_ramrod->main_func_queue && (conn_type != QED_LL2_TYPE_ROCE) && @@ -1265,6 +1265,11 @@ int qed_ll2_acquire_connection(void *cxt, struct qed_ll2_acquire_data *data) p_ll2_info->tx_dest = (data->input.tx_dest == QED_LL2_TX_DEST_NW) ? CORE_TX_DEST_NW : CORE_TX_DEST_LB; + if (data->input.conn_type == QED_LL2_TYPE_OOO || + data->input.secondary_queue) + p_ll2_info->main_func_queue = false; + else + p_ll2_info->main_func_queue = true; /* Correct maximum number of Tx BDs */ p_tx_max = &p_ll2_info->input.tx_max_bds_per_packet; diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.h b/drivers/net/ethernet/qlogic/qed/qed_ll2.h index 8019336..346f3d3 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.h +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.h @@ -121,6 +121,7 @@ struct qed_ll2_info { bool b_active; enum core_tx_dest tx_dest; u8 tx_stats_en; + u8 main_func_queue; struct qed_ll2_rx_queue rx_queue; struct qed_ll2_tx_queue tx_queue; struct qed_ll2_cbs cbs; diff --git a/include/linux/qed/qed_ll2_if.h b/include/linux/qed/qed_ll2_if.h index 89fa0bb..25153ff 100644 --- a/include/linux/qed/qed_ll2_if.h +++ b/include/linux/qed/qed_ll2_if.h @@ -171,6 +171,7 @@ struct qed_ll2_acquire_data_inputs { enum qed_ll2_tx_dest tx_dest; enum qed_ll2_error_handle ai_err_packet_too_big; enum qed_ll2_error_handle ai_err_no_buf; + u8 secondary_queue; u8 gsi_enable; };