From patchwork Sun Apr 30 08:49:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mintz, Yuval" X-Patchwork-Id: 756825 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wG1Tq5gnfz9s75 for ; Sun, 30 Apr 2017 18:50:23 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="DP4yiqxZ"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S3000585AbdD3IuK (ORCPT ); Sun, 30 Apr 2017 04:50:10 -0400 Received: from mail-bl2nam02on0071.outbound.protection.outlook.com ([104.47.38.71]:17717 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2999273AbdD3Itv (ORCPT ); Sun, 30 Apr 2017 04:49:51 -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=Uz+q+3IOMN9XfQqqfQOOxqplvFaj1KNQlrEpgUfcReo=; b=DP4yiqxZ0h5yym5Ycdtwt5tGlRbxXgaUIWGEyPKlYyiPSuX0cK9RSN4TjQkJpoBsgC353WaShRTKQPCj0dXIiY0eB0vWxpdrBbSw5IBhuNWvTMteP3OqPT9rmuDTDpIxVDQehpkG485gWIQrpsNi0ETMX8W+bXJC8eR08hoDlhE= Received: from BN6PR07CA0020.namprd07.prod.outlook.com (10.173.33.158) by BLUPR0701MB1939.namprd07.prod.outlook.com (10.163.121.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12; Sun, 30 Apr 2017 08:49:50 +0000 Received: from BL2FFO11FD043.protection.gbl (2a01:111:f400:7c09::157) by BN6PR07CA0020.outlook.office365.com (2603:10b6:404:3a::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12 via Frontend Transport; Sun, 30 Apr 2017 08:49:49 +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 BL2FFO11FD043.mail.protection.outlook.com (10.173.161.139) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1047.9 via Frontend Transport; Sun, 30 Apr 2017 08:49:49 +0000 Received: from localhost.qlogic.org (10.185.6.94) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Sun, 30 Apr 2017 01:49:46 -0700 From: Yuval Mintz To: , CC: , Yuval Mintz Subject: [PATCH net-next 5/6] qed: align DPI configuration to HW requirements Date: Sun, 30 Apr 2017 11:49:09 +0300 Message-ID: <1493542150-21826-6-git-send-email-Yuval.Mintz@cavium.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1493542150-21826-1-git-send-email-Yuval.Mintz@cavium.com> References: <1493542150-21826-1-git-send-email-Yuval.Mintz@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)(39840400002)(39400400002)(2980300002)(428002)(199003)(189002)(9170700003)(6666003)(2950100002)(47776003)(77096006)(53416004)(76506005)(105586002)(106466001)(86362001)(50466002)(5660300001)(48376002)(101416001)(305945005)(76176999)(50986999)(104016004)(38730400002)(107886003)(4326008)(356003)(478600001)(5003940100001)(2906002)(50226002)(36756003)(81166006)(189998001)(8936002)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1939; H:CAEXCH02.caveonetworks.com; FPR:; SPF:None; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD043; 1:Aew6pbbdL4A/MlTIC410Wlt2pQYNoiUm03jNlzAUHWcnhNJzJmskVr3WUoFJuVHrINPYSVKvVpSwRHIl9ff3ZxrN2OsigUf1PHAF2GgdCqAXkM+FB1HkBjRA4R3KY+kBWuEvXQoJD3ObsJz7kkOkI/aDDqPEzLSdEvv2DueRwnJ6awLjvDMO6cGOlmUntVgAkCQfYxL7Ofxkj2D7tjt8kj/91L0uaAK9M9L8YNRWuue0Rdv37op5M+U9MPvDX9Wfvn2cuyZmwAE9+7OLxnl4EIkqUWjJayOJiV+/0+cOvid7NqhDISoO7s9EbQfCaWb4uYh0zpFRkaBSU3WNhn3AQarM4COcySne+DdTNuhFD2alu+imJxPtTFTHMgJJPjsQqn9xB2M6mO72iz40l79QanDaXH6EHSVroU2Tq5V5L0XSjCziXch2ba1+dt6Cm9E9JNTcRhFVMmvUJGg3Un8fyosebKrgcfymM11+svLLSTMLfPsqfdnZn/nHJ1y/oGDLaTWuEbenwwSFn66ZJNrvdqqaMWNqyy77cIDgn0wVwQ6xnWg5IKsIhSB9S1FksCrycbBmZ3SsoTLXyVU1UGDYaA== X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3cc483d7-fa42-4316-5aa2-08d48fa5dc6e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BLUPR0701MB1939; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 3:nH6/+ivTjVucoSPSm9Phw0QBOhWBZaZoRrfA5Msh3bT1eumWdub4lNpMxluhMEIroFirl1ovCqQAzGByKgqADCpQv5RtPUA1pVR9aqipGF5qGEBRromFSi79TlDUpDlEVFspxO0Lilfnyj+2Q8/3HZTF7m6JA4yWN21bZTrg7FgRSOn9lwZyfovK6QRII6KrBIZx4MTcXuLLeK0gRY8Nj/EqeLM2bBD77TF7lVPmxEbH7y/zYaTWNZCGZ2O4rstvAwmGHobmpUELvK/eMsp71wULV7ddxugMWX7ic/bkBnQlTwyhm9bbchMo6riVCnvgJ2oixbb5qpiZ1P2CT1RqiR4N4jsyj02aGmN60ZvytXr6vArjtq5xqHrhYPd5Smnbq1XPH/htYNKQUzXrw1O6ZCSnGfZ3ljUDriIx8txgI+7Y+/OIesSzCWpWWK5CTtdEY6xDqdJz5mxGu2EJ+y2blOlLUUH/Psj3QUqAaC8IxgWL2kJZmTmexwC6rFYZU06G X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 25:oyCbggipSxUYNp0SWMXA09RPaEsCsPQFFTavREyYCnanu8USrkP3YiSIQ1CCPbGySN08kFscNjw1MUZNcAp8Y4IauAVY79zrrEbVux1Vty6hPhOssQqZVzYXIpxjjfJF6PRh0xyw19NSDQIX+TTMs1td45CfQIJA4C9PKPpPNxy54vDmaQPcHoDPJ6l8lFiz9ud0XiSonUzFke2raadgB7cLcEX/y+jmUmpBauuYtKAPvDsvdsbyyaegrPwRoXXB/DlcoHYrne4mWqwA7Fs25kJxPIecIu5lrdUiQckWSDuSH4ccELf+Wf9u2FWlS7nePu2KcjZwAMEUAeNdn/6UmdPcF6GmDlZJB5i0aCgBWelss4TGDZeAjSlTSdZYWTF+PEtbemp+ThUYLVuvAV4vBhJfNxxDFEQm9E6im56T/nrwM51Qtsh7eVXxAMioFjmwauWfhy5DH8Ek2J9y/fTEmQ==; 31:lzRxXrqUTAKDHcMvY7ii5p1ITbglK7ybVWFlQPW6dSVePpiBOABXTBWOpMKov4S3EqiHszxU3PHKSHHnPbr+nDLPthgxyS0v2pVEpRkle9ADN7Zu9c9GX43+ajI/Xp1vzsC+2aPIXFSBP2OYoxRPxOyltixRqyAFHFpPCrEILXykGHChTlbDMKtJvd4IuHNb8MqtBVdbAAiuJwwHj8nl24FTfIAmWqIxgeSBwU+O0SkD6gLg1WjMHHf6FL+sAXoRu1D2iSlsbquuT4GYbclhKw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 20:n7Le7o1062L4hItfXgj4kRR9IivYI04n2e8+cjdueTZqv5jnt+dtD6tjjEK/1kzdHBFxED6gWX3eV+h1BIRnfCdHD2T1lrTffABHTmCy/sRPzqvNYb4sAo9Tb6Yin7C36FsyuZ1Rc3fU1tJLZrypMnjb/+dFb7QN3U6fUkGp8yl4JIqGj7XViVrZXN9nvTZ1Ls5dwFjH8BDYjyme6PhTVdCNMqkNnfPsHt80rsgje40vClxsgfp42nf/uhJbUYTIHLoxA8lLOqbQAxd2qu3tOAXmtFsxPd5fw429VU1FrxBi0MvtSGPFBI7lta64RrNp1iOFVU41ACsmhSymOmxehxe8QZ2VDjmzz7R9EuYVQgGHk1ia4tzbTBuT8XXDZVigPv0n31pMLPbODCmwf2iOSujVEjcMxpb0urEMdoLUKaOxmvsmL9jSqlp047B6IxedwtVQbg8AcTY3WK7Blr73gc7SmFTqXIBFQr6RC2FmeqWY5z/Cq8RztMFz5lhcvnJN X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13015025)(13017025)(5005006)(8121501046)(13024025)(13023025)(13018025)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123555025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(6072148); SRVR:BLUPR0701MB1939; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1939; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 4:V69whhZQ32yebk3Sob8T2bfyVEP2LwKzcsBg2c1Nl2Mt3S9hLZ6POxDvh6ODrVh79wqdBMTHMey1IMXyIoI/YOzhTeFaqbnm1/ml0ylzag7kAQSn14PpXzjuEObn1ViDtOQI/PANa82Eos+gdCL1f6GQp73ZdKhEeGOUtK+N+AnBRbESY7iP0yzDULP5uI9H2ksnvdRRtWKP2PCASmaJb6lHDA6HawGMU1DvybKoq+ZgnP/gqcczNOLVsXMba3SwAJkP2Hpf48Bfg4Iw6e2nQAp8V7w+7Jwi1FVgtIinjiJ0uRQQpeWAi3/DDJllChsj+08jzxDGy6rXn2d8pAHoSYKjzhysl3AuKNMaZhi6vhhRJ4IpHvOWZFT+4YklgKfUhOaeHWEOWm8a8u3Habd3lcsaNtK1a0pjfj2zZL8veDlHChHmy2r0+lVlX2SSYGDaXSZQuXa6lb/A4ixSfpyTzoeQnQYIKeiGTNVhor7mKGxveKYN1z70kizU0cD5ko28PGozq+ORxRM0ZzqOPt/sr/uCw934haBgrKIw1gajYxgGfFd9Q0CGYd/Yfe7JVesoqQvDis2ekGjIxFdDfgVKwGqf9OcXUJu4lqAWiEKUIb4KfhJE/dN6a2RCHEqeIsdGl6DORn7PMrTMswSbZ474lQaQaPTLNpb8WrLxWSBVaIa/Bm55tDXFvz9CNIIqV7thDxpwVxTc3CCduGDLCCt3UehYO5SQ0RVDrHJanc2zCqAMfz5zBk1hTONRNVrJt6KNBd0gUqN7SxQTo+QBJvNxpVUc54PBNe9YeHWkZL/D53ipUJIMNfWdwdvQqlCyjoK479wUdL9zM4ovCXZU9Wd3jHjq4s7HaP8hB+csQGCQDolNKrB3Y9fBO9eM+Mr6kUYT X-Forefront-PRVS: 0293D40691 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1939; 23:cpNhWImTA3QX8b64SYMwgDdbTDuJ3YgWp/RgsRz?= =?us-ascii?Q?u8e+EfT7rZ4HXpW7IxpDE7+TTWeyGCsJGNJB48jae3SrS1KfDIdiREGeeKTu?= =?us-ascii?Q?cBKfx4aziz94RAIXkWokal+jkO+PQ7npZIBD+9YZ7AXXo5mdyNVcS600vCpV?= =?us-ascii?Q?jI86L2qFR28WJDS9KUtp9Ozn6CLsnluIvjwIDgAXV41YJCw4C1QquTsCvZOI?= =?us-ascii?Q?rFGfI4IcaKYf2FyNxTrhqWJCNpWu3CLNXJVC37qLy2WtVBUvPSYiO2t5C7is?= =?us-ascii?Q?EYzxhmyVlpWbddaGw8oWLj+k3LHuXxg7u7xATwm//PgoQSOhqQhlDOP/+vGB?= =?us-ascii?Q?SZ4BBoImlpKsnaFCHuR9r5GPj/F9/IaVjTxazU/QWwHB4G64x2DNv/DsflAf?= =?us-ascii?Q?ctld6iSKDljat/Mt0lBjmd4M9Wo5+xZjS2feU9xzGt4p2kW7jHPuzstkL3eG?= =?us-ascii?Q?YdYVIs1IVt/qb83gMSI3jUJGuVd/6gqItJzhgL5uQ1FuxSvbwwe2N2UZnFha?= =?us-ascii?Q?pAuilYo8O/q+ZxalJvXDgjcSvS9PA4fw2BrTUUib19elBM+4K9cL+R/Ij4tC?= =?us-ascii?Q?ybK94d7PEAlq9RVeAA7mpM1BmJ6h5d5gg6tVtUvlex8M+tls5nlwjhIGENwB?= =?us-ascii?Q?jkwSLhTnXEp11otYfuHkI2AwnQpYz54PgtPCHWyHz1j+ALEC1yjdYk+5tfGi?= =?us-ascii?Q?tYXPpLaDCWsAw6hSTwudDBVoOT3WZwQMkf2thHFfxw6bTvNsWlY5dSzYDqOG?= =?us-ascii?Q?dkuI9ldrEHXV7MHgFlHH5d4vAS67UFPGx2ik9yVSY9mmyhhVPEvOSxGlcpAE?= =?us-ascii?Q?BSWyEH0YVIiJy863lLGtVzwyhwdGit/9oDiXZmc356dXh8mg8WPn6O6qd57t?= =?us-ascii?Q?oP6Q6h+z0GMqvx4pq3HzBbRsvVpb/nUKKfKZroxOoPJx66t7MjVON5LvQXw8?= =?us-ascii?Q?uFAvj85EO4uORGmgrAm/+vpS79XCSGqZAcTYr8thyRg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 6:9nfli87B7jI+z+fWhlYACOP1Slpgc6a5l32KvRQ0VZZkj8StFuFS6mCPpvBqvLeMZOzeVdNJiKOo8ltqf8B8gC4QUxKPLEbz4Qnhbfu7FAB/k7FVobUobLAB5SvUmv7J8vI6HCLxYxLsZaxLA6X8gnNjDqv/tG3nn4zSVQYCBHIPpQskovkvpWUntVKprRIyjA6iEcWekr+Yg08ecbuXpCb9KAXZmuwJoHBlg83pdVwVth3nOA7WSJv4SgrmQ4JWSLCVMvs+aeS4cC+L2iWunJgY4k2eX37KPsvMknZWcE9IreZkT244JblVi9spaWA81W5a4sIw995AWXDFxM/h77I2ECMRfZBpBYePqrE24Rv7O4zprPMhrCvdfEE75RNykemOqK5KQ69fkA/UD7WRNjYDxA4GDoFYPWq+0znzIA6TnOjSTUEpjmP162RT29k/x14FTjZiYqs6043acbim1mxJuYfra9pEw6EbpuVVFhjLDsjb7mlt9yPxbBb/DwHvKbi4jxSyznL3Mz/N5NuoWg==; 5:Y32OsPl8U8dalYetmjnpAhfITuRwlnwLOy6ARlDumt5v5SOgHlLn7HbLHcpOX5ijJi2o0rpF7X4sWNlES+OlGF9YhUvGmmx+BUZuXXaCnJPdZuZ4MvhT5v0RRBefuq/NhiqkxOtubFUuHK2hbogz3g==; 24:ObSR8Nsrk+CpAlZU8apMZlmBRp9gQS3pKnxuhC0CCyXS8XeVmZzoJGQ0o4iGnSI6169ri7wKsvXuFgXLvR5CuAHO93HjOHBE0zzSDZcJRVE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1939; 7:CxFT71NUL+G68gnayszvz7NiWiNvbp4V3HoWMAzHMgvZjc3UW3NUb9fey8K3U5H5807qE5zBNtRKbf5u5VaoLXm64z709UDM0z07l2sVI6cqO2AtoaCLy333EfFWiQ7/IqpxYh9yvGaTOu7WDctXGGuW7hGmHBs2L/Rc2OCJ+btfIFUBIKgFubBkIXLnf9DYVhOXLwlNZUdcG0evPj/vDt+Mg15f7uvK+Xiq3r+Gl+W3/bmiUSOG8Po9nxQznxN0Ho2rXoJQocJhzI4/OPpdunfr65eYcDostIswdTGDQh7vbGRpRkThiy4jhDWuMzt09Thkd2iIinUZQV+U4rwqZg== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2017 08:49:49.3090 (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: BLUPR0701MB1939 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Ram Amrani When calculating doorbell BAR partitioning round up the number of CPUs to the nearest power of 2 so the size of the DPI (per user section) configured in the hardware will be stored properly and not truncated. Signed-off-by: Ram Amrani Signed-off-by: Yuval Mintz --- drivers/net/ethernet/qlogic/qed/qed.h | 1 + drivers/net/ethernet/qlogic/qed/qed_dev.c | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed.h b/drivers/net/ethernet/qlogic/qed/qed.h index c07191c..edf3b68 100644 --- a/drivers/net/ethernet/qlogic/qed/qed.h +++ b/drivers/net/ethernet/qlogic/qed/qed.h @@ -72,6 +72,7 @@ #define QED_WFQ_UNIT 100 #define QED_WID_SIZE (1024) +#define QED_MIN_WIDS (4) #define QED_PF_DEMS_SIZE (4) /* cau states */ diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index aa1a4d5..c478e07 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -1318,17 +1318,15 @@ static int qed_hw_init_common(struct qed_hwfn *p_hwfn, qed_hw_init_dpi_size(struct qed_hwfn *p_hwfn, struct qed_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 */ - dpi_page_size_1 = QED_WID_SIZE * n_cpus; - dpi_page_size_2 = max_t(u32, QED_WID_SIZE, PAGE_SIZE); - dpi_page_size = max_t(u32, dpi_page_size_1, dpi_page_size_2); - dpi_page_size = roundup_pow_of_two(dpi_page_size); + n_wids = max_t(u32, QED_MIN_WIDS, n_cpus); + dpi_page_size = QED_WID_SIZE * roundup_pow_of_two(n_wids); + dpi_page_size = (dpi_page_size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1); dpi_bit_shift = ilog2(dpi_page_size / 4096); - dpi_count = pwm_region_size / dpi_page_size; min_dpis = p_hwfn->pf_params.rdma_pf_params.min_dpis;