From patchwork Tue Jul 24 14:29:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 10542283 X-Patchwork-Delegate: jiri@resnulli.us Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E099112E for ; Tue, 24 Jul 2018 14:42:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0CC3521EEB for ; Tue, 24 Jul 2018 14:42:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0111F28803; Tue, 24 Jul 2018 14:42:48 +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=-2.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E8C6921EEB for ; Tue, 24 Jul 2018 14:42:46 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41Zh0j21ZwzDrD2 for ; Wed, 25 Jul 2018 00:42:45 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="i1eIInl4"; dkim-atps=neutral X-Original-To: linux-mlxsw@lists.ozlabs.org Delivered-To: linux-mlxsw@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mellanox.com (client-ip=104.47.0.68; helo=eur01-he1-obe.outbound.protection.outlook.com; envelope-from=idosch@mellanox.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="i1eIInl4"; dkim-atps=neutral Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0068.outbound.protection.outlook.com [104.47.0.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41ZgkC2Q8TzDrHF for ; Wed, 25 Jul 2018 00:30:10 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4ZUuEK1iU7fjwa2HOR+9w6bwVTQ6yjjszT7lKOuD9Ug=; b=i1eIInl40APrztVttI3lczGNtk2M8KSAoOR+EwJ7LY3S8kOqFCqNY5y/H7ko87zdDZJk46AUhtWvvqibXblMLsRmRFVZqHX+Jro0TIOZYpuI7jCCS/cGfSAiPp9azdCJN54NeDpRO2FbISyYalmrFMrY49I/n5DGx0aK5+vbc7k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; Received: from splinter.mtl.com (193.47.165.251) by AM4PR0501MB2322.eurprd05.prod.outlook.com (2603:10a6:200:53::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.16; Tue, 24 Jul 2018 14:29:54 +0000 From: Ido Schimmel To: linux-internal@mellanox.com Subject: [PATCH net-next mlxsw v4 01/18] mlxsw: reg: Prepare PERERP register for A-TCAM usage Date: Tue, 24 Jul 2018 17:29:09 +0300 Message-Id: <20180724142926.13033-2-idosch@mellanox.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180724142926.13033-1-idosch@mellanox.com> References: <20180724142926.13033-1-idosch@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: VI1P189CA0018.EURP189.PROD.OUTLOOK.COM (2603:10a6:802:2a::31) To AM4PR0501MB2322.eurprd05.prod.outlook.com (2603:10a6:200:53::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7dba835b-70f3-40bd-fc5d-08d5f171ecbe X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM4PR0501MB2322; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0501MB2322; 3:uDNr6TkftbcTDWfVjAxp3s0C0236So+zUqxfbeMJkAVcT+AQMUeQWVeoFm7v0nnTScs7+OqCxLYxLzZIBbI4qatmfqT2WPhd9yIaZiRH13nQ9+HghUu4hENryRjTIBK2j2iPJ+XLB9lXAzC5rHDuSjAWbdw3zfK04+j+UftetTQ6OL7V/9HYooFOoSiye0kAN0dYGMpZIWP+zXP/0NivKJnPOAIpSS0F07O2ykkRJrqYdyykvCkZTXX7u4aRtxWF; 25:xAW3QBH+qRpL58G6E5UUWBT9iTU1HzMmM1Kq8sCSZ7au6PxNvOgDd7ZtO3xhhwhUKHqfAWvmxzqQTXYrAAHN3g2UubAv5JGojrFgmk6rloIKN6BquRRZ4sZ/QkF0DgfPrRlEsd5+bXSBtkc/kPCL2k/CAJz+iQPt2QWs0jmIhRTbmsBVyWt9tXjmxF4Wnnl+0B4QZb+hd0h4EV3pknAj2NmXt2O8mFMU2PFTPLS8+KfEkyTwT6+nA1lNjkmr0ISag6WvXsuG/11DRqFca+fbJtsyuurpSlssiAf//5xq6oXzOSCG92I0zODOkTrTfhXsU8YHk4s120qi0KHSlLMI3A==; 31:42QoH1AilT0QHua324hIjCC8/nbXZ4y4vMGLv1IJBaA03/rlWNOvysLifotgYcvMj9hjhRM/onk37+GEBzE3P1zsiSE71RuiJM9F9uBHt++O+TNh+Ohbg7bJc8kE3X6MS3rHx4f7VAvAzdb2c25z6/Z8805yqhF/aV5KkPaMOD68dDJA90+ViQZwwIWz3Oa3JudNks7SLxKUr/bskjU7FrWgW4Y49JfuqKldf3eDw/s= X-MS-TrafficTypeDiagnostic: AM4PR0501MB2322: X-Microsoft-Exchange-Diagnostics: 1; AM4PR0501MB2322; 20:ClH+AZ0brB+cSY5xhnj/M83FdHC/wL/wR/MDNVgO+9U200ZMif1NKxn+2qWAoB5p9FKZDHZQ2+kSQafsIbVvfuw+6wf5hFOljCzc1+UL94bj6sidMnyDGNKCOcbqAOuwYm4z3xsdslbpPMz7r8uPw2/97litmDRW4U6xg5b50b4F/mUumLqb2LVlw5UEoibILSZ49rTRMIUGlSH3+M0twT/Wl1OAB2idltP1IpPSIE4RxaZKKOXA8dDeKNrQWwFoTDd6wrSKpUwp+bRKm4zWJiN5srIxiputlDL4hhVb4B2eS+ZancEtKjH2m7RCOvOkP9GrspezJHbMzJPz3MsHVrJ5ljU17xnJo8SJVcdXeBXzhotKqy8q9p6q6d2gj3CwU/H0PohG+gEZH8JxKjKN+FPugUrEJewx2zn5B4fb7fK7/AS5ZobWNqX/eJxSQBHfwPsU+3F17yN7zCcX5k7YWm9bay2Qe5rJQVbscGw2QqpVPuNAvAsXqnFA+O6DYafW; 4:Xe08CXId2O1e+jxvGvi34mKB++EiL0tun/Z+dczNovX3phLNEgkTYP0jwG5k6qUNoP1d5orD3GtmG1lAqzo3KOuIBRu5pt396uQh5PFtqc9sH20rD708zbnzfWiZO34hIb4zGvMIz+5tMkSqW11ujnIylILNenx7bx6ZSeyk/fuqGFDOxg0v7vRirLEgY6YVTpKqH32kF6mz2DHViH2vNzKi5qHdyHiEXxDSPEkGJj2uEoYJ1tQ3bf3nPb4lki6/wxzvDT+4B8YUx5PClF//iA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:AM4PR0501MB2322; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0501MB2322; X-Forefront-PRVS: 0743E8D0A6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(396003)(376002)(39860400002)(366004)(136003)(199004)(189003)(53936002)(97736004)(7736002)(305945005)(446003)(34206002)(107886003)(575784001)(6512007)(486006)(4326008)(25786009)(26005)(478600001)(6486002)(11346002)(16526019)(6116002)(105586002)(2616005)(956004)(16586007)(53416004)(316002)(3846002)(66066001)(1076002)(47776003)(2361001)(5660300001)(68736007)(51416003)(50226002)(2906002)(76176011)(8936002)(37006003)(106356001)(81156014)(86362001)(8676002)(386003)(36756003)(81166006)(6636002)(48376002)(2351001)(52116002)(6666003)(14444005)(476003)(50466002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0501MB2322; H:splinter.mtl.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0501MB2322; 23:QmOp1oc6y77BVyaDSFitaIX8/5jO1L3UgI9rWdD?= hd7MghCwbPXqpKNCdl5+xXNGJjPrUy1sorNWz5MLvF7tYlAPA1L+R0G5LKkPhgsig3/gUGX9+rNQC6kC2bmMU88kzLeziQ8TWEM3L5ImT2ZlXvjW5zandXENZk2St7ENoVIitgtvec8sk1O1VuXZDj+iyJt9lMrVJy2DKMaGJ47beSKx0RmkpsKvPPi1rN+fnc3DRDAuUp8Yw5lOY+8LEXze4biD5+QNFWq3d/fZZOyWLRBPeHMs+3DwnvxZt4wOhGig98h/+Zf6fCW7WPdgOgI8MNCvdOJB0cgUhTKFG7Ur4ZxTV1gjaMHrAr13OCMFZo8uKhrb7bl93eqRu3fULN1mns4zwOBXkA6Kxv3ryTbmYl4JgeBOtwPaGEIgvpRKuXGX/jWPEu2TwznPqdjTa0ru5hhwDVB9AG2OiSdZnTSc6JRCm3zZM8Ux9EMibjWn8jsAXZY8s4v6FCSO9R9Oyiw+u+7N9758mxSCqO4f1eA/oXiYdGJc3thqNnmWCx9MiWbBGopexEG2eUzIUq5x5CyHLLvW0ZY+LrnZevtDjnm/lv+jgM+0y9+bcDuHYaIbksUKL5ABYZ80k9CHXpDR81IOh+EIKaxgmBD+ByIHM3Dn2/psuMVJS1oiYb/ojNvZaeZXeAsNTNf5P2Nj14Z0G6Ov8qFbBejnQmlcyuTxTrqrkC2CzXseMqev2zExTTutjKe9rfk7PI1NyAvZkfCUxkceN8MndN9f0Of1lRHSVIS0NhpFhxsmh+YfK8SnBpKjT/dq9YWD8rDTf37KHK6IpOBqcMqVCtEjdLVyKA4zrJs/duOX6OJi8Q1Y3AO9HYEnGkY3ZY9vz2t+wHgyYmUg0ynCauJIHT1dt1/bSUymxNrhHgoNtiuGnUTiGeAH2iW6nJuPFgYahm1idIgR4GNslxkITfq0J/LBnRgXbQ4lCpSFVYSdzY2/vT5YRSIQ3ianFZRndx+TStlsMvPirXKS89nPTsv2bzIO+pdDrFRoGTXGtuQHXmj7ah5Ttab8sTHseLOt8f4D/+w51Zfk5fc3BUYs/8EVNbyXmwDIilrk2sZsL/Pguv9hB3x7Kf+21vnro29BWafnZ0RawOZrgkqlHuzNQPhUaorTBs2nT/Wy2zOan99cEArr/K0Wc0ppfBOdBxO3H7KVtDAmabLAOPCsYnfOCf35XpyRBLD1DJ4GUPTFTjqXyv3C6TM/vm31V/WLTSGjSIb4cfxYnENonlrOXkJ7v2DYMwYoLxj8p2Yz9hQOggyjEMmJiS+it0as26YzYPNjP15jOSX0mri7FJ12GQON3 X-Microsoft-Antispam-Message-Info: pFBdEuQRp5aQP6tB6ru7gJq9Y8ht0XKZaFtay0vl7MJ+Wt7HSpz3P43cSmtQjhBkSieyM23GIT/IYtBaiuii3mW87wGqPL7r1gaKCDqeArHEzKlIqiAosEvWtSxbF8+GuRe8+tnNl0CivfozP87pubyEknnNVmFnnuZ4hdkb1W+rlLnbgIEAQvypTe/S5U2YTQNFbvtgO3AXrYvffC2zWYTXwpMQSmbjxj8iE44tAflrzRwbHIjhcn3csXgcb3X1cZYw3tSND1HO7F6W1IAa+S59YEkDx9KBGpIFqBmIDfVAj0VGetcEXVwNTAXrCE5l8uMYwKSSRXYHD5P8c5u1z+nePlWTakOplya7awccEbc= X-Microsoft-Exchange-Diagnostics: 1; AM4PR0501MB2322; 6:dsMc64ffDLjncIP11C0nfEY2V3khCfK6iV0MZViolw0RHcjLBF3lUHsJMYc1lccMlnHxrnPPWipOvU/Wl/5fYfeEndrsnJDdxPMxQ/b2KSgnzo0yadSgWyPXa4uGk4BClU129+3OSSB90lGt0j0+BwWI2g8uz3t5s5XEwOMOwfyjPTDghJrNZvZgawkLohaoBrF89hTFhitdB05WYDWUOzTYGkyGCRlsRQ0m2QeqxSaBlkruQwgtBxLkAI4XTpRklhArnBjwBCi3K4GNaTUg5EBiB3pqmr3nWLgAKZQpmgLlRd5xPPkNuEnQ7Cc8+rc6uDlmOLNlbVlFF32fNQmYAbM7rK2E5U2u7qEPA20y1b4IFQSxtPk9Pb/rMRgr6MlUpDf/SgUthdMSkJaHW5ISrhO447+oyKeqPdg493xVH2sqsG548Lnm13saNlqKyXGU2wntYvBuaNAQmZ3FTBBibQ==; 5:6hSLK8jdRMiveWGMUqEv5rewJk/8yzykeh1eAVfJ/+o74a191EJB/ZtVMcpWa29p7Uan6xw3Jjoh+R55XSRrioKh9OClz0YkN5/W7lYInschAnt5L/V+Iu94nAL11JHNaVtaZrBKoTL0UiRb4kxb3/+fPXPHR75hN46lbFAe5P4=; 7:FNJYDFteLMmz1UbBmoiD0Xv3Zaxvh1K2wi6T1gP+BbpgKa8YI9kNjTANmE++s059k8BeTWaHDvUvpJNMAvLtWibGoq6FQqDJUmGJgeDPeUCPNI3an5ijPaoX/3ZkGaTntZD/VAsX8vkxQJI7pFkC1vZq2Xp06S6d4DcEUywHobQZBxtMqZ5dH6mIB2UjtMiO7RVsUBHl6tbZi4wTzXg5DshHXF9JsXsAk0BMV8A/9mdf52iCGU2PZJiiwLurHJ3j SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2018 14:29:54.2237 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7dba835b-70f3-40bd-fc5d-08d5f171ecbe X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0501MB2322 X-BeenThere: linux-mlxsw@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: mlxsw driver development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-mlxsw-bounces+patchwork-linux-mlxsw=patchwork.kernel.org@lists.ozlabs.org X-Virus-Scanned: ClamAV using ClamSMTP Before introducing A-TCAM support we need to make sure all the necessary fields are configurable and not hard coded to values that worked for the C-TCAM only use case. This includes - for example - the ability to configure the eRP table used by the TCAM region. Signed-off-by: Ido Schimmel Reviewed-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/reg.h | 22 ++++++++++++++++--- .../mellanox/mlxsw/spectrum_acl_atcam.c | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h index 596fddfb3850..f4e16ac20fea 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/reg.h +++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h @@ -2663,12 +2663,28 @@ MLXSW_ITEM_BIT_ARRAY(reg, pererp, erpt_vector, 0x14, 4, 1); */ MLXSW_ITEM32(reg, pererp, master_rp_id, 0x18, 0, 4); -static inline void mlxsw_reg_pererp_pack(char *payload, u16 region_id) +static inline void mlxsw_reg_pererp_erp_vector_pack(char *payload, + unsigned long *erp_vector, + unsigned long size) +{ + unsigned long bit; + + for_each_set_bit(bit, erp_vector, size) + mlxsw_reg_pererp_erpt_vector_set(payload, bit, true); +} + +static inline void mlxsw_reg_pererp_pack(char *payload, u16 region_id, + bool ctcam_le, bool erpt_pointer_valid, + u8 erpt_bank_pointer, u8 erpt_pointer, + u8 master_rp_id) { MLXSW_REG_ZERO(pererp, payload); mlxsw_reg_pererp_region_id_set(payload, region_id); - mlxsw_reg_pererp_ctcam_le_set(payload, true); - mlxsw_reg_pererp_erpt_pointer_valid_set(payload, true); + mlxsw_reg_pererp_ctcam_le_set(payload, ctcam_le); + mlxsw_reg_pererp_erpt_pointer_valid_set(payload, erpt_pointer_valid); + mlxsw_reg_pererp_erpt_bank_pointer_set(payload, erpt_bank_pointer); + mlxsw_reg_pererp_erpt_pointer_set(payload, erpt_pointer); + mlxsw_reg_pererp_master_rp_id_set(payload, master_rp_id); } /* IEDR - Infrastructure Entry Delete Register diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c index b1b3b0e0c00e..a27d3b0f9fcb 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c @@ -72,7 +72,7 @@ mlxsw_sp_acl_atcam_region_erp_init(struct mlxsw_sp *mlxsw_sp, { char pererp_pl[MLXSW_REG_PERERP_LEN]; - mlxsw_reg_pererp_pack(pererp_pl, region_id); + mlxsw_reg_pererp_pack(pererp_pl, region_id, true, true, 0, 0, 0); return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(pererp), pererp_pl); }