From patchwork Tue Sep 19 01:51:23 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 28908 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 588871B160; Tue, 19 Sep 2017 03:52:07 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0082.outbound.protection.outlook.com [104.47.36.82]) by dpdk.org (Postfix) with ESMTP id 07B2C58C6 for ; Tue, 19 Sep 2017 03:52:03 +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=oeTfObnLNhzCOmq1vPezT033sj8ktMQ7sRNZZv3tTxw=; b=IQ2kivVBWRXFDJYARPE66e32g+l9rHoS8xazVNW2TCEwooSIZQzsE6BhMRPCKeQ9me/+BeMjuzMP3gfjbBw8BSRRnlJMDjLy30aDL1gR3R5beEE5mMerJSgFQJi7VEQ6M9tCzN7Q2psFdOzEFx1CQrpvNZbj2ffLXYtzWy2VwDw= 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:02 +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:23 -0700 Message-Id: <1505785903-1741-4-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: ace6902e-4e1c-483d-2b23-08d4ff0105e8 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:9SRkTUzfcMk9TbKX9sEJYfh2Jqj/rnmBFpbkNIotE3brSvxT5J4sKOFn8idiXJjEgbB/5Ibajl4kMYwNdl5DIXae/4ZcCfp0bwasXaqZ41u22sahdxqZ9cByznyCamDTb9vq4B2hzO2N17Jgezc0fN+4xSjXdi63cEF3aocMS6LP3uVZ4OIRWtFzTGNhzSd9PM3ALbgDb0QAt/bo1mcBnbOmQGo+Pc/bhBFosBEVGT3mF2jtbDja4EiiNZPCV39w; 25:BYpaqGPPV5E3hSmkt50CycFCRckGEIP6co+IXNIWmMcgP/yp6NkaiKVV1si6lxD3FFLhb2YnWTgFlaoHITfbr894ucPlxsn1y8+HkrTSJG6iVnS/Z5Tf2GvxrrWzkvaPehODSjJZYKRic1KdnSl5NUny3qnkbIcr+s5MiAOL6obzyjuIn7VCol8oiDs0SOeStv/w7/hqyNwIpKorTdgTWmg0Nh3Ar83so/qeUOqkoGkoasAyr5Ro1wqF0yMcwYmoMlLys2tnoMM/5ktcZNRdjeFVK3cfZEDlNgimln0Vycch0pkHzdc4K+TNDXkJuB1gHFNC5PaHeTONXAU3cFytsg==; 31:uLh0EQ+TI55Mmdzds2uc7XXC6luXP07wNt2wKjAvcLTvkm7L6eRndXglLOX4Tz5GP5wfZjuyGQ+4euA3fcAhGZSaMT2nf+Wd4+bk9Ku82qMhsEYwqFX48KoXj3umsW//m9BM1CHvvPTbnYzSx8PHREXqJq10irlkuWY4rsHIFhfdbs8bUJK+LwTz214cTLlCFxbqOVnWNrSkzSxIN4IAJL31sPmHLbrYGGdqs0yjpfI= X-MS-TrafficTypeDiagnostic: DM5PR0701MB3832: X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3832; 20:bqBuiYqBIKHoopSMOQxKZVfQZZAOzbXWFqcAfcmFKfTT4cbqeJUGwblIzMa+VNl6wmUA/85kL8cQEB4YLKS6cG0js3SV3tkXkE4M+N1wn+E9JUi8AF6w6UUfsQ8kmEMcez5S6klTIasHVntWToSlTD3w8Is5fziPdUJ4HQzYjxnphOuFuNvS6YYM7eio2ctOfdPIf4sJXnBpESz4UJD/wSwWCiNgAdHSD1fisNoRmcp1lhDnX5P5MtVL/nC8/cZNON5BZ+KKoS1MXSqUCx4Xo8DWOkXyyAku7vDDr0QcGMDQQdzMn1FLJSSStCLwHlJyCHMPJjHe/zuBO8R5FeT/SX9Ji7A6tgAe4gcfrCyJzHDXvpnMz746y0Av++yhzvxmR5IoEWh0BgPSpMCcN9bNHjoPW2cgFhkSQLxr5ZFpp4ViK/n3yt8DTncKHnoqJdHiUU5/y6fsTh1sZhqTUylhyrt19ZXB4d1lvO/BSNWPpI1IvZwq3lKACQsWuZlY1T+f; 4:zD/3ymV4webL35m96Alo7VAnPLLrY1p2bG1/ZGnBSaVZXZrAN0Z82RyVWFOycE4mnGQmtViNuipms3pBDzzJA8oVZ2GrVPcqbBk1sO1cvKG+3f6bHk46WkU8bArhBtNAVjoVTR3u65DRw96rFAUgE0v3BHLQCzBxhVYPYjExMLJ6TAmtl4+EZkCibVX0QLUTcV8FbNjLYUnEues8/6upxvKMI2737OfCV+ylwujzWdgNK/a79KXkB89u5XkBoGVb 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)(131093003); 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:FD0tHonyYTGXJFRHEI5xAHasyS6CriMPBnoQylo?= AJLltO4JRJox22csstib6zSnr+HxZXSQ85qoHTzMbHltqNlu13SnCPIvnTgPM+K6bSfxHoiWDhdyk8XIzV+aZzrH4rTSOS+abyiAOvIeBxHlIIeBrWHD21s/9Ej8ZZbx1/t8NSA0kHmhyO4rWJmAVU6IpQAePfU7hgW+P4Xb/AbZ6x455IqBaxx2sd1ueL6/vztsU0GYanLau978Or0l8nOHwjN5GqiezNKPF5OEnsDX81z+QWHh1AF7xDcfAirnCZVYo3LKryEKclOWjqxosDjkcbldg2bjenrbCxdadUkAmVolQKIrgx1E4JBMnsj7X128gcb/+aqL2BsTsU7/Buaa2A+S0kguWxn9k3xlFhWQeSILDsWDGl6yOJEDg9u3vonLCz5R0NaBRtuAVlyJSvuDik13udloYiiMjeiRMA89C68u6bQc/4Z9BWAigp7XDHYLlDefXbbRCtI3CspFT4MvyttyHFCmHt/GfsNx7MNMvUatGnOWNYI/ggSXmikJosD96D1lkNV9r/blvvpvwEK9/FRZRTXfcU2BP44GdNxaMPl4nUzMFkPU0FTvqc+EqwWw8KIJ87V1ErNpASCQvIwzSULYvX8674fKMsZQ6VYBWB7u5blCmjsHV5910IOOemgjWDKMW/wztLqiVorBaqO72BwYkGZztGXZGT9yFlXpfed/7OXc8penA1rL9RizNAwY2FWRDlJmKK7tJb+41TUauNQa3LyKipxF3OHC/tsehprMTzSxJyCV1Latp092Q0ENUM2fxQh3XZelKoiG9iX963aqDGVN7B1SbIf+4JaTlUznu9exAxSl2DRr2qG1jhSj4hf7/1kISGegHjyc5nLxczxkwjisTkOsdq+NGwFAu5RwIyc+RNz7rCFYt2ataidTzq1rTlZYwXVMXTBxgxrR58cC52MGXyMrlxoIW01n9F2TjGdidb1zf6oYf3W7E64QYiqWtLELhAtbEOHBFcnD9rR0Vw6nmUKBfM1cOpxrwkpnpX4CN9ZsiBZKE0gYk3w4VQ/ZsgIF58GeUkhQ6cn50yRo77EbVTg0MAao0ccLaWgbPENdgYi0wPKOqyE62pOAF2VYtAiLRSMR/8RxZHM9j X-Microsoft-Exchange-Diagnostics: 1; DM5PR0701MB3832; 6:b9tjDO8TYa3bvVcSA3vs+17iV+NlYVCvvf6z4lEyntZY4RDCf0Q79YHaBbnuW2c2pjlaeI+4sLKR1Bifw4PIWFDAFJ7V8/7xO0yioo4kUaeAvi6rusvTqWyWIAmzzNGMcXIKB5f66NXy8WkWLqnKXKPfiztAFbR+HY6TMaKQEBI7/TQS50uHQqYObZinLx21LJ2aqIGT8dHmELkl5pizvOv8eu0SncC8mOAhFzG2+Orxf4Q2fh1XYh7odkDIMe53T91kfPqcO7tTCPUg6J4FK3mcfaA/VxesjN1SVks7nRgloQ/wQBVA0GXyBn76kxAktt15mZYuqmhbHQTPaSqX+Q==; 5:quGnyACbeiQT77xVVf+t/Fl6LGSERFBYY9u/8jo/oNXf4I+WOmNIYlR4nEsgDFmrthM4fIGBkLzPoznSbwxRVtXE8Jg3HqoO84ltetC/Poh4OHF2S/e3T+p5SP6LXN9GL5LaX1EJXtBMSfjw1BLKiA==; 24:/BOtsVVEPLdLTC+KvnqyEczcBReL4H1HABaPFsUCsq6jtPfSz/HKusQvUeWtqdGFQFC0B0y3H540kAkCmJGVW85hLI3UqO3wgI86LbmxahA=; 7:plOkBL53TINwSFtCQ8fFofPqxarIjlPZEPKeVoIj/ylBQ8PdGsFXooYtdT2hueaKGAJGnNvzFfGgdPIirJf3UIvdf29rP9KQClcvUDWzXYJUK18Fg4bFeDX8Pygwlj+QWVyL1alBfHyMGJQjX36csiFF8J2ej5VSHaZY3iNfQAdcejGMKVEEqCwQDzSEm7Tp1Db6zNQYwovALY4UnLij2pqsG3t6bphfz1HErOhWiEs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2017 01:52:02.1171 (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 33/53] net/qede/base: use available macro 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" - Use OSAL_PAGE_SIZE instead of assuming it to be 4096. - While at it make sure the minimum number of doorbells that can be issued is 4. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 1 + drivers/net/qede/base/ecore_dev.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index a1748f4..823e8f8 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -50,6 +50,7 @@ #define FCOE_BDQ_ID(_port_id) (_port_id + 2) /* Constants */ #define ECORE_WID_SIZE (1024) +#define ECORE_MIN_WIDS (4) /* Configurable */ #define ECORE_PF_DEMS_SIZE (4) diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index 67d8dd8..0cd6f22 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -1892,9 +1892,9 @@ static void ecore_link_init_bb(struct ecore_hwfn *p_hwfn, ecore_hw_init_dpi_size(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, u32 pwm_region_size, u32 n_cpus) { - u32 dpi_page_size_1, dpi_page_size_2, dpi_page_size; - u32 dpi_bit_shift, dpi_count; + u32 dpi_bit_shift, dpi_count, dpi_page_size; u32 min_dpis; + u32 n_wids; /* Calculate DPI size * ------------------ @@ -1917,12 +1917,11 @@ static void ecore_link_init_bb(struct ecore_hwfn *p_hwfn, * 0 is 4kB, 1 is 8kB and etc. Hence the minimum size is 4,096 * containing 4 WIDs. */ - dpi_page_size_1 = ECORE_WID_SIZE * n_cpus; - dpi_page_size_2 = OSAL_MAX_T(u32, ECORE_WID_SIZE, OSAL_PAGE_SIZE); - dpi_page_size = OSAL_MAX_T(u32, dpi_page_size_1, dpi_page_size_2); - dpi_page_size = OSAL_ROUNDUP_POW_OF_TWO(dpi_page_size); + n_wids = OSAL_MAX_T(u32, ECORE_MIN_WIDS, n_cpus); + dpi_page_size = ECORE_WID_SIZE * OSAL_ROUNDUP_POW_OF_TWO(n_wids); + dpi_page_size = (dpi_page_size + OSAL_PAGE_SIZE - 1) & + ~(OSAL_PAGE_SIZE - 1); dpi_bit_shift = OSAL_LOG2(dpi_page_size / 4096); - dpi_count = pwm_region_size / dpi_page_size; min_dpis = p_hwfn->pf_params.rdma_pf_params.min_dpis; @@ -1981,7 +1980,8 @@ enum ECORE_ROCE_EDPM_MODE { ecore_cxt_get_proto_cid_count(p_hwfn, PROTOCOLID_CORE, OSAL_NULL) + ecore_cxt_get_proto_cid_count(p_hwfn, PROTOCOLID_ETH, OSAL_NULL); - norm_regsize = ROUNDUP(ECORE_PF_DEMS_SIZE * non_pwm_conn, 4096); + norm_regsize = ROUNDUP(ECORE_PF_DEMS_SIZE * non_pwm_conn, + OSAL_PAGE_SIZE); min_addr_reg1 = norm_regsize / 4096; pwm_regsize = db_bar_size - norm_regsize;