From patchwork Tue Sep 19 01:51:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 28911 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2BD1A1B1A8; Tue, 19 Sep 2017 03:52:14 +0200 (CEST) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0058.outbound.protection.outlook.com [104.47.33.58]) by dpdk.org (Postfix) with ESMTP id F323C1AEF0 for ; Tue, 19 Sep 2017 03:52:05 +0200 (CEST) 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=No3Z/RqISy85QUvj+sslLYXFYG6XlepDQmOlZEdBLeY=; b=SRpeuFM5MXG4tzPgRg0jGEz8cOXiEz8fLg401gyJzgC9zV8ojf6XEilqA0NYIzSpZtfZKuRGfAFhmW64D3YzYoMyu7h8bfJ50udNrh8PpqYrdbmCue6MJkZkAlW1erNq7Z7/ZbD82EyeHKsBAOiQ/5KjSrWh4pCqFYN9y32aCGw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by DM5PR0701MB3832.namprd07.prod.outlook.com (2603:10b6:4:7f::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11; Tue, 19 Sep 2017 01:52:04 +0000 From: Rasesh Mody To: dev@dpdk.org, ferruh.yigit@intel.com Cc: Rasesh Mody , Dept-EngDPDKDev@cavium.com Date: Mon, 18 Sep 2017 18:51:26 -0700 Message-Id: <1505785903-1741-7-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1505785903-1741-1-git-send-email-rasesh.mody@cavium.com> References: <1505785903-1741-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: MWHPR14CA0048.namprd14.prod.outlook.com (2603:10b6:300:12b::34) To DM5PR0701MB3832.namprd07.prod.outlook.com (2603:10b6:4:7f::30) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 75b18bb9-fd30-4f85-088c-08d4ff010749 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR0701MB3832; X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3832; 3:haRObgFsFJSekTcUudw6j0IWAFV2V2Vf0pSglxSMosK6vxbt2/2tUOvGbW8KyGdDEEoXyhJyet4qscZ/jE+2Tmyv/7oj5fKPomNqKBaum97dELQvwpoTmgKUPHg6KiQAYcCmuOsdgAQjmwGT78zTnzku9kgRMjWkdc+XFvfTIPa+En6R7Dt19qYuzd9v3jLNgHu40D4UGnl/5BbQ8PL/Cp/LjQ3db6/NA45KSZuN5SgfVj7Ai8OnUj7ShvMIwRJi; 25:0W7oNko+FYS2m6YXr6y6lYyx6BA3WSou+mgmmpqPDjnhW/9CLGjjQRiWonrmTBU4Z17b5phaoxaR1b/BN0p4KydugD9E9o+MJa/K+0y+yUSlIGJou3O2K1CCpgk0x8RNoe4Bgrx8TUR/avRiHstzHN0NpyMdvL54isgYMGcZIWmJ56frswkz+i+XPxhI76kwqmMU9tljBS9Lqf3jLBLwLmnXPh0UqJ1iXlLdV0GcWIJLpJ5629Xw/uBbHdw5UeRi7HmbalPGKm+n5XMTiZbFHNfzaZ1cnvpC/AXP7R+Ot4697tCdDjkoN1xTiTiNrVcIOG58432rlkmtymKdNste2A==; 31:SALk456+ps/s9Osv19EdiPaOfoEzaM2KKf01eCyjXzk0AcRWnHkJuzAhJ0iwZadl/zMuqTMfNAWRY9+lEchfga64Q0I0CAvF8HcOTpgLFzILpR14QTGwMdS0ow7fkh754cKrNEQxQ9z5RDLAP0iCZgrDSuouJm0wtVC7tsI6nUHCSQt6uR6xS8qm72cEsZt5lO78qTcELuM25mD45HtAJzqRh/rW9OEWSibQ2bbSmqk= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3832: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3832; 20:e9GAJKwPMjTWZ2x79B0ZQBDO3H/7Fiub2Nj3o/+d86DdhUqF7LYFVT+u0GQ+QIAUwD+5/UEyG+FJ2PDKNL4JEnkLadwZBONCBO4MFG83YuZKRJUlBrwXxdTxTdk2txZ/iBnH1KrBnEORPphxVggyz6K/TSQBlJzcz2ACYVpUCvY9ctxGC1gI6TatExbCG0SmNWsq3WE1xmF5OhI7veEmC2+J/6AJOAIOwC2RTZip1HvrOSTqRbC52wqxtC7gig4Eo3D0ovTtCrx3r8wf8S+qaT7qdtHuA5JeDkeEq4V61Tf1VdLgZ5K64hLAHI8M5exO2B4/5FLfqHm4rRryVNYGWbbRAoO3GZsAYprsJcWZvLC/3d0thaj236lV079FL1WHfayJja9jhQIyVs7WAqbkuwHzAw8j782ChO57IAMTfmOd6AQa1i5Q3vyxrW1dUa0WasjKIefNm9cI6IjUZZX334CV2umGJTU5q5S7CEHbQCyp+d9SJ7qS/aMgAbTNbyHa; 4:YxMqVaVXb9VDflX4Rz2nTI/rf6inDNGbYZyLTGH8WXxggiKT9bOaMSZdqcIP7gqfZZrBSEPbYUjwBLl9ezN/jn2KoTAAV2xsvNWuvwjclxSPY6OqEpcYIiUcWtz1Rj79bLz+5ZzaEvu4L1PbYfAC8KrCqKjWAKi56iHeLHP+HbRxtNiBrskvnPJcIKWt7jpthOMLbVi7NjsUyismyaZIwvNLyqEKbHOQOZIBuf2nK7eKRu++OHcEzb1qAJPKEBOY 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)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR0701MB3832; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR0701MB3832; X-Forefront-PRVS: 04359FAD81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(72206003)(106356001)(305945005)(105586002)(7736002)(36756003)(2950100002)(50226002)(478600001)(25786009)(6666003)(3846002)(4720700003)(55016002)(8676002)(189998001)(66066001)(5003940100001)(81166006)(81156014)(50986999)(107886003)(76176999)(316002)(5660300001)(16526017)(16586007)(47776003)(4326008)(6116002)(33646002)(21086003)(86362001)(8936002)(97736004)(68736007)(69596002)(53936002)(50466002)(2906002)(48376002)(101416001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3832; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR0701MB3832; 23:Vrd3HaatAmjvLj8dlDVGqKx7MppBj/Mj//8CML1?= cCxaK09LG0YrM23PI30cKUV6DC4VLjiAqQxxZsbM1mEFdSGWcaWxUfiBNjuvwoS8ujxZ3/jV6JF9g/lQUY5k+0wQCWkGruokBfSGwfMQ/dAVNmufEUBdabBmCg2Q73b8xMO9mad8UdBXmo7bNM+H6mLhCylBhTplrTjvhcEP4dkaZbhc1I7RFFbWvwBcfsYNqHQo2O3GJ1hbf2zA79bb1FzEn4k8tRn0pZahbZRRa6ATsjLc50BajAQXBE4mVRzvC8uqqYajFpFBVdTVS5WzBMgLcRHlA/QPKD9+Gd0k4ENViugfiWv0JmV5Mn99j+H30SnLuq2FCFlrdsDgd8Pq0Gm65cviFl8uH7ziAyZnTldbV/D7qsHQrY1zC81vsecEAeG17YOsgo5WKA96KoGRjjD7OMmG/M8Yyhkc8RjwuyiZCggib3Zpw0Ir9dOYzhZMdB3QG93KpmtnUKh6LAa1aQrs6qlVrEqVIZrJl09OX69XGI60+OAY4QFkLjiwPGEiMgaAnsPC5xQc38JjLGuUtj1gp+TRIA91lrxyKwPhydOO5G3/zDHIlp4m/p0AMXWK8/L/e/udqbljIGQJZpElViTWS1CqeqIXOSTWUajTqyZvwGNPbkfqujh5YBe21SSWxM0rDOyCluI+OC/05vBhdJRMNekVPek6KApT44YLVx2SFXYjWUNcC0W71Qny10VO8uzUjVjlInTcDhFNhsOZ/8b8G+DhQpXD3mhocoUdK5SYpQs3PEcmGq8eRHar/aceKcR9f8xEYBIXuyDsM92KL00el7aA6E0gV9fYV5r1uXNSeQV3d3sO3WUb1bQlwnG2ciVWe1lFDqrunzqs47NAIkd1hj8PHu0TGXahXx9KmkRsEl+PXiWfYFtIK/4fA8xAzqOWXYymuttKVsxX1F6jGBA0xhf4UHl9G/MCPbzUfTUvqEZDEDAUS5WeJ2GFhWvV2qZ5OWIxNq4QVspsFNF+5KqCN1RX5CA9C0nJkHXcVMXjCSF5U3dIkZWSAlxbBqZX/qMiMWD7aic0OoO09edXkdCBnXG20AsLzUa0K7zuD50obmf66n4tgA6lWN+df/MGGm2U= X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3832; 6:Vivfa3Ed5i0oJw2A5ZNRfatsbgEevlJ5BrR7lTMbB4Xp4yzmJFRit4YudAtQWk5Lfv0QQEU86I64fKjMycBaD9jZHote4if5Tx1XskQ5UxsBdp3LI/D8jgD1HdHU+YSkNKFzH92Ftsu3M/5NaLo6wXcvn5KyR++N/f6HdC8SPtWO4P2BHcG0SfAXtYdg2UWD/xfIm0EEGHWUgiXNJy6SJzkfocWQw9/sTmGf9Dzw4BzyCJyQ3BDPK5Q1XhzFWD6FH775LhrHUNlmrWVl0Li9OPIWFa48DeLwMJWBm8MfW2L9cOrjnCQnT41Z1PtwM/PU7tyBbzre2Bx/Rt3THRCbCQ==; 5:rEfwZMXJLYfHnyZp676ZXhZsuGymdrSelzr8F1MYKtDS+nBRskaSx0fo7fYrSSBIOVqFKe1h9d5Dhd/X9+xxn6wWq+u1lbiR+Cuge9jhNK6po3kCFj0G0qUXEi48NZmvH5ySIHmY0KFjHAYL/lVu6A==; 24:K6e47FJU3quR/hSmH+4a0TEOrCbTpvCU2sWfxKnw2Np0Tdx09gsKlfi6oseN2ZSt277mgsGBNbCVQNqeum7ToaYIXiiG+v3zxitRBB4cXmM=; 7:JACWteqspVUoPZHIY6zdJpv94FZvqIh3GlF7jUPqJVTe1QM00MgRVm5sbxntRZhkwN2WmNYSqsSWlZIxpfud1YOfXOb2rapfFaTL5HIdBEpQaRmw0c3PU8UN3KxYyxBPncChRJYh3p8zD8ERZyrRsmxr4sANu+LnItdM7H9xC5gMPMzdarm65sGX5D2ID1GjI24jtVrfEqOEo2xRlAuPKiHBA7jKjjiRgxmdyWgUjGg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2017 01:52:04.3828 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0701MB3832 Subject: [dpdk-dev] [PATCH 36/53] net/qede/base: semantic changes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - Make ecore_dcbx_set_local_params(), ecore_cm_init_pf() as static - Remove src_proto() - remove reference to PROTOCOLID_TOE when determining whether a a protocol requires SRC ILT memory - Add auxiliary variables in various places - All other changes are simple semantic corrections Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_cxt.c | 55 +++++++++++++------------------ drivers/net/qede/base/ecore_dcbx.c | 15 +++------ drivers/net/qede/base/ecore_dcbx.h | 2 -- drivers/net/qede/base/ecore_dev.c | 2 +- drivers/net/qede/base/ecore_init_ops.c | 4 +-- drivers/net/qede/base/ecore_l2.c | 56 ++++++++++++++++++-------------- drivers/net/qede/base/ecore_mcp.c | 2 +- drivers/net/qede/base/ecore_mcp_api.h | 20 ++++++++---- drivers/net/qede/qede_main.c | 2 +- 9 files changed, 76 insertions(+), 82 deletions(-) diff --git a/drivers/net/qede/base/ecore_cxt.c b/drivers/net/qede/base/ecore_cxt.c index 24aeda9..46455ea 100644 --- a/drivers/net/qede/base/ecore_cxt.c +++ b/drivers/net/qede/base/ecore_cxt.c @@ -230,13 +230,6 @@ struct ecore_cxt_mngr { /* TODO - VF arfs filters ? */ }; -/* check if resources/configuration is required according to protocol type */ -static OSAL_INLINE bool src_proto(struct ecore_hwfn *p_hwfn, - enum protocol_type type) -{ - return type == PROTOCOLID_TOE; -} - static OSAL_INLINE bool tm_cid_proto(enum protocol_type type) { return type == PROTOCOLID_TOE; @@ -270,16 +263,12 @@ struct ecore_src_iids { u32 per_vf_cids; }; -static OSAL_INLINE void ecore_cxt_src_iids(struct ecore_hwfn *p_hwfn, - struct ecore_cxt_mngr *p_mngr, - struct ecore_src_iids *iids) +static void ecore_cxt_src_iids(struct ecore_cxt_mngr *p_mngr, + struct ecore_src_iids *iids) { u32 i; for (i = 0; i < MAX_CONN_TYPES; i++) { - if (!src_proto(p_hwfn, i)) - continue; - iids->pf_cids += p_mngr->conn_cfg[i].cid_count; iids->per_vf_cids += p_mngr->conn_cfg[i].cids_per_vf; } @@ -397,6 +386,20 @@ static struct ecore_tid_seg *ecore_cxt_tid_seg_info(struct ecore_hwfn *p_hwfn, return OSAL_NULL; } +static void ecore_cxt_set_srq_count(struct ecore_hwfn *p_hwfn, u32 num_srqs) +{ + struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr; + + p_mgr->srq_count = num_srqs; +} + +u32 ecore_cxt_get_srq_count(struct ecore_hwfn *p_hwfn) +{ + struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr; + + return p_mgr->srq_count; +} + /* set the iids (cid/tid) count per protocol */ static void ecore_cxt_set_proto_cid_count(struct ecore_hwfn *p_hwfn, enum protocol_type type, @@ -706,7 +709,7 @@ enum _ecore_status_t ecore_cxt_cfg_ilt_compute(struct ecore_hwfn *p_hwfn) /* SRC */ p_cli = &p_mngr->clients[ILT_CLI_SRC]; - ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids); + ecore_cxt_src_iids(p_mngr, &src_iids); /* Both the PF and VFs searcher connections are stored in the per PF * database. Thus sum the PF searcher cids and all the VFs searcher @@ -820,7 +823,7 @@ static enum _ecore_status_t ecore_cxt_src_t2_alloc(struct ecore_hwfn *p_hwfn) if (!p_src->active) return ECORE_SUCCESS; - ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids); + ecore_cxt_src_iids(p_mngr, &src_iids); conn_num = src_iids.pf_cids + src_iids.per_vf_cids * p_mngr->vf_count; total_size = conn_num * sizeof(struct src_ent); @@ -1447,7 +1450,7 @@ void ecore_qm_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt) } /* CM PF */ -void ecore_cm_init_pf(struct ecore_hwfn *p_hwfn) +static void ecore_cm_init_pf(struct ecore_hwfn *p_hwfn) { STORE_RT_REG(p_hwfn, XCM_REG_CON_PHY_Q3_RT_OFFSET, ecore_get_cm_pq_idx(p_hwfn, PQ_FLAGS_LB)); @@ -1642,7 +1645,7 @@ static void ecore_src_init_pf(struct ecore_hwfn *p_hwfn) struct ecore_src_iids src_iids; OSAL_MEM_ZERO(&src_iids, sizeof(src_iids)); - ecore_cxt_src_iids(p_hwfn, p_mngr, &src_iids); + ecore_cxt_src_iids(p_mngr, &src_iids); conn_num = src_iids.pf_cids + src_iids.per_vf_cids * p_mngr->vf_count; if (!conn_num) return; @@ -1769,9 +1772,11 @@ static void ecore_tm_init_pf(struct ecore_hwfn *p_hwfn) static void ecore_prs_init_pf(struct ecore_hwfn *p_hwfn) { struct ecore_cxt_mngr *p_mngr = p_hwfn->p_cxt_mngr; - struct ecore_conn_type_cfg *p_fcoe = &p_mngr->conn_cfg[PROTOCOLID_FCOE]; + struct ecore_conn_type_cfg *p_fcoe; struct ecore_tid_seg *p_tid; + p_fcoe = &p_mngr->conn_cfg[PROTOCOLID_FCOE]; + /* If FCoE is active set the MAX OX_ID (tid) in the Parser */ if (!p_fcoe->cid_count) return; @@ -1972,20 +1977,6 @@ enum _ecore_status_t ecore_cxt_get_cid_info(struct ecore_hwfn *p_hwfn, return ECORE_SUCCESS; } -static void ecore_cxt_set_srq_count(struct ecore_hwfn *p_hwfn, u32 num_srqs) -{ - struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr; - - p_mgr->srq_count = num_srqs; -} - -u32 ecore_cxt_get_srq_count(struct ecore_hwfn *p_hwfn) -{ - struct ecore_cxt_mngr *p_mgr = p_hwfn->p_cxt_mngr; - - return p_mgr->srq_count; -} - enum _ecore_status_t ecore_cxt_set_pf_params(struct ecore_hwfn *p_hwfn) { /* Set the number of required CORE connections */ diff --git a/drivers/net/qede/base/ecore_dcbx.c b/drivers/net/qede/base/ecore_dcbx.c index 212b733..889d91a 100644 --- a/drivers/net/qede/base/ecore_dcbx.c +++ b/drivers/net/qede/base/ecore_dcbx.c @@ -955,11 +955,8 @@ enum _ecore_status_t ecore_dcbx_query_params(struct ecore_hwfn *p_hwfn, return ECORE_INVAL; p_ptt = ecore_ptt_acquire(p_hwfn); - if (!p_ptt) { - rc = ECORE_TIMEOUT; - DP_ERR(p_hwfn, "rc = %d\n", rc); - return rc; - } + if (!p_ptt) + return ECORE_TIMEOUT; rc = ecore_dcbx_read_mib(p_hwfn, p_ptt, type); if (rc != ECORE_SUCCESS) @@ -1125,7 +1122,7 @@ enum _ecore_status_t ecore_dcbx_query_params(struct ecore_hwfn *p_hwfn, DP_VERBOSE(p_hwfn, ECORE_MSG_DCB, "flags = 0x%x\n", p_app->flags); } -static enum _ecore_status_t +static void ecore_dcbx_set_local_params(struct ecore_hwfn *p_hwfn, struct dcbx_local_params *local_admin, struct ecore_dcbx_set *params) @@ -1155,8 +1152,6 @@ enum _ecore_status_t ecore_dcbx_query_params(struct ecore_hwfn *p_hwfn, if (params->override_flags & ECORE_DCBX_OVERRIDE_APP_CFG) ecore_dcbx_set_app_data(p_hwfn, &local_admin->features.app, ¶ms->config.params, ieee); - - return ECORE_SUCCESS; } static enum _ecore_status_t @@ -1255,10 +1250,8 @@ enum _ecore_status_t ecore_dcbx_get_config_params(struct ecore_hwfn *p_hwfn, dcbx_info = OSAL_ALLOC(p_hwfn->p_dev, GFP_KERNEL, sizeof(*dcbx_info)); - if (!dcbx_info) { - DP_ERR(p_hwfn, "Failed to allocate struct ecore_dcbx_info\n"); + if (!dcbx_info) return ECORE_NOMEM; - } OSAL_MEMSET(dcbx_info, 0, sizeof(*dcbx_info)); rc = ecore_dcbx_query_params(p_hwfn, dcbx_info, diff --git a/drivers/net/qede/base/ecore_dcbx.h b/drivers/net/qede/base/ecore_dcbx.h index eba2d91..a42ebb4 100644 --- a/drivers/net/qede/base/ecore_dcbx.h +++ b/drivers/net/qede/base/ecore_dcbx.h @@ -47,8 +47,6 @@ enum _ecore_status_t ecore_dcbx_mib_update_event(struct ecore_hwfn *, struct ecore_ptt *, enum ecore_mib_read_type); -enum _ecore_status_t ecore_dcbx_read_lldp_params(struct ecore_hwfn *, - struct ecore_ptt *); enum _ecore_status_t ecore_dcbx_info_alloc(struct ecore_hwfn *p_hwfn); void ecore_dcbx_info_free(struct ecore_hwfn *, struct ecore_dcbx_info *); void ecore_dcbx_set_pf_update_params(struct ecore_dcbx_results *p_src, diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index 0cd6f22..9c362a9 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -361,7 +361,7 @@ void ecore_db_recovery_execute(struct ecore_hwfn *p_hwfn, */ /* Derived */ -#define ECORE_MIN_PWM_REGION ((ECORE_WID_SIZE) * (ECORE_MIN_DPIS)) +#define ECORE_MIN_PWM_REGION (ECORE_WID_SIZE * ECORE_MIN_DPIS) enum BAR_ID { BAR_ID_0, /* used for GRC */ diff --git a/drivers/net/qede/base/ecore_init_ops.c b/drivers/net/qede/base/ecore_init_ops.c index 1a2d2f4..4491a14 100644 --- a/drivers/net/qede/base/ecore_init_ops.c +++ b/drivers/net/qede/base/ecore_init_ops.c @@ -450,12 +450,12 @@ static u32 ecore_init_cmd_phase(struct init_if_phase_op *p_cmd, u32 phase, u32 phase_id) { u32 data = OSAL_LE32_TO_CPU(p_cmd->phase_data); + u32 op_data = OSAL_LE32_TO_CPU(p_cmd->op_data); if (!(GET_FIELD(data, INIT_IF_PHASE_OP_PHASE) == phase && (GET_FIELD(data, INIT_IF_PHASE_OP_PHASE_ID) == ANY_PHASE_ID || GET_FIELD(data, INIT_IF_PHASE_OP_PHASE_ID) == phase_id))) - return GET_FIELD(OSAL_LE32_TO_CPU(p_cmd->op_data), - INIT_IF_PHASE_OP_CMD_OFFSET); + return GET_FIELD(op_data, INIT_IF_PHASE_OP_CMD_OFFSET); else return 0; } diff --git a/drivers/net/qede/base/ecore_l2.c b/drivers/net/qede/base/ecore_l2.c index f94cb49..8449215 100644 --- a/drivers/net/qede/base/ecore_l2.c +++ b/drivers/net/qede/base/ecore_l2.c @@ -235,7 +235,7 @@ void ecore_eth_queue_cid_release(struct ecore_hwfn *p_hwfn, } /* Calculate the engine-absolute indices of the resources. - * The would guarantee they're valid later on. + * This would guarantee they're valid later on. * In some cases [SBs] we already have the right values. */ rc = ecore_fw_vport(p_hwfn, p_cid->rel.vport_id, &p_cid->abs.vport_id); @@ -347,6 +347,7 @@ enum _ecore_status_t struct vport_start_ramrod_data *p_ramrod = OSAL_NULL; struct ecore_spq_entry *p_ent = OSAL_NULL; struct ecore_sp_init_data init_data; + struct eth_vport_tpa_param *p_tpa; u16 rx_mode = 0, tx_err = 0; u8 abs_vport_id = 0; enum _ecore_status_t rc = ECORE_NOTIMPL; @@ -371,8 +372,8 @@ enum _ecore_status_t p_ramrod->vport_id = abs_vport_id; p_ramrod->mtu = OSAL_CPU_TO_LE16(p_params->mtu); - p_ramrod->inner_vlan_removal_en = p_params->remove_inner_vlan; p_ramrod->handle_ptp_pkts = p_params->handle_ptp_pkts; + p_ramrod->inner_vlan_removal_en = p_params->remove_inner_vlan; p_ramrod->drop_ttl0_en = p_params->drop_ttl0; p_ramrod->untagged = p_params->only_untagged; p_ramrod->zero_placement_offset = p_params->zero_placement_offset; @@ -407,22 +408,22 @@ enum _ecore_status_t p_ramrod->tx_err_behav.values = OSAL_CPU_TO_LE16(tx_err); /* TPA related fields */ - OSAL_MEMSET(&p_ramrod->tpa_param, 0, - sizeof(struct eth_vport_tpa_param)); - p_ramrod->tpa_param.max_buff_num = p_params->max_buffers_per_cqe; + p_tpa = &p_ramrod->tpa_param; + OSAL_MEMSET(p_tpa, 0, sizeof(struct eth_vport_tpa_param)); + p_tpa->max_buff_num = p_params->max_buffers_per_cqe; switch (p_params->tpa_mode) { case ECORE_TPA_MODE_GRO: - p_ramrod->tpa_param.tpa_max_aggs_num = ETH_TPA_MAX_AGGS_NUM; - p_ramrod->tpa_param.tpa_max_size = (u16)-1; - p_ramrod->tpa_param.tpa_min_size_to_cont = p_params->mtu / 2; - p_ramrod->tpa_param.tpa_min_size_to_start = p_params->mtu / 2; - p_ramrod->tpa_param.tpa_ipv4_en_flg = 1; - p_ramrod->tpa_param.tpa_ipv6_en_flg = 1; - p_ramrod->tpa_param.tpa_ipv4_tunn_en_flg = 1; - p_ramrod->tpa_param.tpa_ipv6_tunn_en_flg = 1; - p_ramrod->tpa_param.tpa_pkt_split_flg = 1; - p_ramrod->tpa_param.tpa_gro_consistent_flg = 1; + p_tpa->tpa_max_aggs_num = ETH_TPA_MAX_AGGS_NUM; + p_tpa->tpa_max_size = (u16)-1; + p_tpa->tpa_min_size_to_cont = p_params->mtu / 2; + p_tpa->tpa_min_size_to_start = p_params->mtu / 2; + p_tpa->tpa_ipv4_en_flg = 1; + p_tpa->tpa_ipv6_en_flg = 1; + p_tpa->tpa_ipv4_tunn_en_flg = 1; + p_tpa->tpa_ipv6_tunn_en_flg = 1; + p_tpa->tpa_pkt_split_flg = 1; + p_tpa->tpa_gro_consistent_flg = 1; break; default: break; @@ -464,6 +465,7 @@ enum _ecore_status_t struct ecore_rss_params *p_rss) { struct eth_vport_rss_config *p_config; + u16 capabilities = 0; int i, table_size; enum _ecore_status_t rc = ECORE_SUCCESS; @@ -490,26 +492,26 @@ enum _ecore_status_t p_config->capabilities = 0; - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV4)); - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV6)); - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV4_TCP)); - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV6_TCP)); - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV4_UDP)); - SET_FIELD(p_config->capabilities, + SET_FIELD(capabilities, ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY, !!(p_rss->rss_caps & ECORE_RSS_IPV6_UDP)); p_config->tbl_size = p_rss->rss_table_size_log; - p_config->capabilities = OSAL_CPU_TO_LE16(p_config->capabilities); + p_config->capabilities = OSAL_CPU_TO_LE16(capabilities); DP_VERBOSE(p_hwfn, ECORE_MSG_IFUP, "update rss flag %d, rss_mode = %d, update_caps = %d, capabilities = %d, update_ind = %d, update_rss_key = %d\n", @@ -641,6 +643,7 @@ enum _ecore_status_t struct ecore_sge_tpa_params *p_params) { struct eth_vport_tpa_param *p_tpa; + u16 val; if (!p_params) { p_ramrod->common.update_tpa_param_flg = 0; @@ -662,9 +665,12 @@ enum _ecore_status_t p_tpa->tpa_hdr_data_split_flg = p_params->tpa_hdr_data_split_flg; p_tpa->tpa_gro_consistent_flg = p_params->tpa_gro_consistent_flg; p_tpa->tpa_max_aggs_num = p_params->tpa_max_aggs_num; - p_tpa->tpa_max_size = p_params->tpa_max_size; - p_tpa->tpa_min_size_to_start = p_params->tpa_min_size_to_start; - p_tpa->tpa_min_size_to_cont = p_params->tpa_min_size_to_cont; + val = p_params->tpa_max_size; + p_tpa->tpa_max_size = OSAL_CPU_TO_LE16(val); + val = p_params->tpa_min_size_to_start; + p_tpa->tpa_min_size_to_start = OSAL_CPU_TO_LE16(val); + val = p_params->tpa_min_size_to_cont; + p_tpa->tpa_min_size_to_cont = OSAL_CPU_TO_LE16(val); } static void diff --git a/drivers/net/qede/base/ecore_mcp.c b/drivers/net/qede/base/ecore_mcp.c index 5aa3210..6c99e94 100644 --- a/drivers/net/qede/base/ecore_mcp.c +++ b/drivers/net/qede/base/ecore_mcp.c @@ -1441,7 +1441,7 @@ enum _ecore_status_t ecore_mcp_set_link(struct ecore_hwfn *p_hwfn, */ ecore_mcp_handle_link_change(p_hwfn, p_ptt, !b_up); - return rc; + return ECORE_SUCCESS; } u32 ecore_get_process_kill_counter(struct ecore_hwfn *p_hwfn, diff --git a/drivers/net/qede/base/ecore_mcp_api.h b/drivers/net/qede/base/ecore_mcp_api.h index cc5a43e..be3e91f 100644 --- a/drivers/net/qede/base/ecore_mcp_api.h +++ b/drivers/net/qede/base/ecore_mcp_api.h @@ -59,9 +59,15 @@ struct ecore_mcp_link_capabilities { struct ecore_mcp_link_state { bool link_up; - u32 line_speed; /* In Mb/s */ u32 min_pf_rate; /* In Mb/s */ - u32 speed; /* In Mb/s */ + + /* Actual link speed in Mb/s */ + u32 line_speed; + + /* PF max speed in MB/s, deduced from line_speed + * according to PF max bandwidth configuration. + */ + u32 speed; bool full_duplex; bool an; @@ -594,9 +600,9 @@ enum _ecore_status_t ecore_mcp_get_media_type(struct ecore_hwfn *p_hwfn, * @param p_hwfn - hw function * @param p_ptt - PTT required for register access * @param cmd - command to be sent to the MCP - * @param param - optional param - * @param o_mcp_resp - the MCP response code (exclude sequence) - * @param o_mcp_param - optional parameter provided by the MCP response + * @param param - Optional param + * @param o_mcp_resp - The MCP response code (exclude sequence) + * @param o_mcp_param - Optional parameter provided by the MCP response * * @return enum _ecore_status_t - * ECORE_SUCCESS - operation was successful @@ -849,7 +855,7 @@ enum _ecore_status_t ecore_mcp_nvm_del_file(struct ecore_dev *p_dev, * @param p_dev * @param addr - nvm offset * @param cmd - nvm command - * @param p_buf - nvm write buffer + * @param p_buf - nvm read buffer * @param len - buffer len * * @return enum _ecore_status_t - ECORE_SUCCESS - operation was successful. @@ -862,7 +868,7 @@ enum _ecore_status_t ecore_mcp_phy_read(struct ecore_dev *p_dev, u32 cmd, * * @param p_dev * @param addr - nvm offset - * @param p_buf - nvm write buffer + * @param p_buf - nvm read buffer * @param len - buffer len * * @return enum _ecore_status_t - ECORE_SUCCESS - operation was successful. diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c index e6d2351..2ca4206 100644 --- a/drivers/net/qede/qede_main.c +++ b/drivers/net/qede/qede_main.c @@ -423,7 +423,7 @@ static int qed_slowpath_start(struct ecore_dev *edev, info->num_queues += FEAT_NUM(&edev->hwfns[i], ECORE_PF_L2_QUE); - if (edev->p_iov_info) + if (IS_ECORE_SRIOV(edev)) max_vf_vlan_filters = edev->p_iov_info->total_vfs * ECORE_ETH_VF_NUM_VLAN_FILTERS; info->num_vlan_filters = RESC_NUM(&edev->hwfns[0], ECORE_VLAN) -