From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42CBDC43381 for ; Wed, 20 Feb 2019 19:32:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 07B022146E for ; Wed, 20 Feb 2019 19:32:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="F5QbWqfP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726428AbfBTTcU (ORCPT ); Wed, 20 Feb 2019 14:32:20 -0500 Received: from mail-eopbgr00045.outbound.protection.outlook.com ([40.107.0.45]:11872 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725851AbfBTTcT (ORCPT ); Wed, 20 Feb 2019 14:32:19 -0500 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=R3ch642LatHpcFjTPJAs8+BHKa6QBx02jN25dr4tLfk=; b=F5QbWqfP8GBPwl5R3RDy8p7wakF3u4bfQl7SOCbGoTEcM2kvil7eXs5QGWXvw34RzPvpSywTtHZNOzdUxCKjWy5w9jYJy9I4w2SzjboVOLHJkvleCF6mu88fwWLwFIGf+FR08taLWwJ/KRiz5SqCP7x7YrUPOAm9E9J1K10xJRI= Received: from AM6PR05MB5240.eurprd05.prod.outlook.com (20.177.196.214) by AM6PR05MB4871.eurprd05.prod.outlook.com (20.177.34.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.19; Wed, 20 Feb 2019 19:32:12 +0000 Received: from AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::3542:889c:3a85:3866]) by AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::3542:889c:3a85:3866%5]) with mapi id 15.20.1643.014; Wed, 20 Feb 2019 19:32:12 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , Petr Machata , mlxsw , Ido Schimmel Subject: [PATCH net-next 01/10] mlxsw: spectrum: Add struct mlxsw_sp_sb_vals Thread-Topic: [PATCH net-next 01/10] mlxsw: spectrum: Add struct mlxsw_sp_sb_vals Thread-Index: AQHUyVL6oRYLkKbsKUKOZ5I1oVbNEA== Date: Wed, 20 Feb 2019 19:32:12 +0000 Message-ID: <20190220193141.16498-2-idosch@mellanox.com> References: <20190220193141.16498-1-idosch@mellanox.com> In-Reply-To: <20190220193141.16498-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR10CA0061.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::38) To AM6PR05MB5240.eurprd05.prod.outlook.com (2603:10a6:20b:64::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [77.138.249.209] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fe63eba7-73b5-4731-c90e-08d6976a1ca7 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB4871; x-ms-traffictypediagnostic: AM6PR05MB4871: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;AM6PR05MB4871;23:eLRWj4FPgG5q8Othl5M9htvK2FD0Ts7tAtrolGF?= =?iso-8859-1?Q?WE9J/+3EcbzSAzVVVxtg0b7ocHG426EW/vZID/NC/QyYo/zt1mK7/d/oxt?= =?iso-8859-1?Q?yhvoJV5WmpsizZLZetD29fQFostKpRabUMZiEF4HwfffcV3ewEn4CrDelF?= =?iso-8859-1?Q?Fp0HxWI2WG71vUSb1WAJHzj52SJ2LdtO0WcIU8Yq4t7hX5AaX8Wk02Tfox?= =?iso-8859-1?Q?o9TrFhpoLrNIjSly5sSjCC3kRTjMEbaGO1t53Fo5C7YZ2QejhPX37MHMBD?= =?iso-8859-1?Q?wvGYZXMgIKRCEWXoS6tsFmmE6DBxLXVePa4wpTSMqEix+5LtclOV3SpEiJ?= =?iso-8859-1?Q?T1nFyyoEJXaHmJBiH0odcFjm6OrlRd9uCYQd4ksZPhG/l9nf7Eo9n/RzyM?= =?iso-8859-1?Q?E0zwzFCNMeNZ4dw76HXNbwwSeXEMZnkiWtd6Wq2nG0URnRdhY7F1Ok9ZN6?= =?iso-8859-1?Q?+EqbqfljXG17apyCfP+n1+LerNyxa3V/NfzQ7pTT6Iua+3RI3zGYjoQtXM?= =?iso-8859-1?Q?XUAB3jFNR1JO/fGoIaMHVNzyd8UWk5Bzb8b8+Cp0Zoth2auYUPPWzLuoZI?= =?iso-8859-1?Q?Ln0MFkx1k9CsZsF7lwA2Jbgi7aEglF4aaKSIy8FYNqpGYMn3Gha8dRKH8u?= =?iso-8859-1?Q?/ytNiH2u9RtKB93DdZAezYhjWxdMQvWa19gWnxs9rH8thJMhllhj/cEl4G?= =?iso-8859-1?Q?sGIHQJ71Xwi6jb9jkGsMhH7PqXcbK9ZQoxz05DWPQBhTm1T52LvJdj9ZfF?= =?iso-8859-1?Q?qvl4XO8yszqMTh9zs0+Kmh3rbIpt6pbvWvdnWGX0yON6oplF/yVhXl2Csn?= =?iso-8859-1?Q?p8vdT0pwqE62nuGnl3SiRvZ2GupWqOjdzn5Ww2jrZVvRuJKgfBdjftNryx?= =?iso-8859-1?Q?65LG0h9UF28UOX+d1wkO6RNjOYO8jSP92aKZ2/qQkEec8lFsm1xWA8YFJt?= =?iso-8859-1?Q?Z6jEnSxWf9Z4xSaOXhSiAthcicHLpQefDyClCf1uI2kTiCrcLb2phXwEnc?= =?iso-8859-1?Q?M/CEOozDkDTNArbY0JFiwnEDg3xVHEfajARy/+Bg7QeMFnuCSu5Kvn+AE7?= =?iso-8859-1?Q?oFC+wYHfbta3kqagXws2rjpZaL4An6amVDl4rR7HX/bRXUCg0n7dts+/QT?= =?iso-8859-1?Q?TgH4ItR0qA+TfQ7/dSWX4tdjKDEiv/PaMxFy3UOL4+Epnl+xEc7fNj5YSc?= =?iso-8859-1?Q?jtBBeQMlMV1MHzQopexZrgyZttsZjGjxoxcKCt+rWWCy6cVug4tJ1kh8Zc?= =?iso-8859-1?Q?bDez8b6Gp7j796jMhim8o2lUW0SRfpnxQiJ8nnZDD7Z6tcfOKZTJ35El/L?= =?iso-8859-1?Q?Hl6xFUzNS2lKp6MoIhPvOMsW9OeT3R6JOokSDGvLwmG2J7NseAVuxhVtVP?= =?iso-8859-1?Q?igh8USZQ=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 0954EE4910 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(376002)(396003)(39860400002)(346002)(366004)(199004)(189003)(486006)(86362001)(446003)(2616005)(4326008)(2351001)(478600001)(2906002)(105586002)(106356001)(11346002)(107886003)(476003)(68736007)(6916009)(54906003)(316002)(25786009)(6506007)(26005)(102836004)(386003)(53936002)(186003)(6116002)(3846002)(52116002)(99286004)(97736004)(2501003)(256004)(81156014)(6512007)(6486002)(50226002)(5640700003)(81166006)(305945005)(8936002)(7736002)(8676002)(1730700003)(14454004)(76176011)(1076003)(5660300002)(71190400001)(71200400001)(66066001)(36756003)(6436002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4871;H:AM6PR05MB5240.eurprd05.prod.outlook.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: auICODJz0MQObjMtaQxm4dFOeZjLv9oRDAhCpFconAOTTL+PsXG8UdQ2o62nuYgkl1jXBN4Wg+j9XyJDjfKJJSbJ/+x9DsHS/DqF2k9hl/AkOlGW/GiwRAFvKELDVyWGr26pN4DohLzCao/S9o3Ed1apm8Q5AYZXTrBciwX7as4IsHJm1sFmzku4Zk1r8neP3vREhr4HuRLD2HJYEWSrng4arNUbuQFQluKSBWi3Tu3t33MScGVb2uEgEb1g0SRfhHQbMCdz91j0lmIidz9v9F/brcWYj9KkuNG+1ZpMx8M/TzJFwwCyfgGUk2pt5agH1NEpaa2ChoRYo98gfXuqX3kxntvrXoS4APZ8nN40kbVJNl5iH57iQol1NH8xIVMv2rN8Hd/ZR8R/ixV4TVSpTEKWQw3+sYA8PVO/qRoCjDU= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe63eba7-73b5-4731-c90e-08d6976a1ca7 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Feb 2019 19:32:10.5777 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4871 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Petr Machata Spectrum-2 will be configured with a different shared buffer configuration than Spectrum-1. Therefore introduce a structure for keeping the chip-specific default and immutable configuration. Configuration mutable in runtime will still be kept in struct mlxsw_sp_sb. Signed-off-by: Petr Machata Signed-off-by: Ido Schimmel --- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 ++ drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 5 +++++ drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/e= thernet/mellanox/mlxsw/spectrum.c index 7ee6d747e97b..c1ec4f89973b 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -4092,6 +4092,7 @@ static int mlxsw_sp1_init(struct mlxsw_core *mlxsw_co= re, mlxsw_sp->nve_ops_arr =3D mlxsw_sp1_nve_ops_arr; mlxsw_sp->mac_mask =3D mlxsw_sp1_mac_mask; mlxsw_sp->rif_ops_arr =3D mlxsw_sp1_rif_ops_arr; + mlxsw_sp->sb_vals =3D &mlxsw_sp1_sb_vals; =20 return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info); } @@ -4109,6 +4110,7 @@ static int mlxsw_sp2_init(struct mlxsw_core *mlxsw_co= re, mlxsw_sp->nve_ops_arr =3D mlxsw_sp2_nve_ops_arr; mlxsw_sp->mac_mask =3D mlxsw_sp2_mac_mask; mlxsw_sp->rif_ops_arr =3D mlxsw_sp2_rif_ops_arr; + mlxsw_sp->sb_vals =3D &mlxsw_sp2_sb_vals; =20 return mlxsw_sp_init(mlxsw_core, mlxsw_bus_info); } diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/e= thernet/mellanox/mlxsw/spectrum.h index ceebc91f4f1d..976843917c95 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -133,6 +133,7 @@ struct mlxsw_sp_kvdl_ops; struct mlxsw_sp_mr_tcam_ops; struct mlxsw_sp_acl_tcam_ops; struct mlxsw_sp_nve_ops; +struct mlxsw_sp_sb_vals; =20 struct mlxsw_sp { struct mlxsw_sp_port **ports; @@ -167,6 +168,7 @@ struct mlxsw_sp { const struct mlxsw_sp_acl_tcam_ops *acl_tcam_ops; const struct mlxsw_sp_nve_ops **nve_ops_arr; const struct mlxsw_sp_rif_ops **rif_ops_arr; + const struct mlxsw_sp_sb_vals *sb_vals; }; =20 static inline struct mlxsw_sp_upper * @@ -372,6 +374,9 @@ int mlxsw_sp_sb_occ_tc_port_bind_get(struct mlxsw_core_= port *mlxsw_core_port, u32 mlxsw_sp_cells_bytes(const struct mlxsw_sp *mlxsw_sp, u32 cells); u32 mlxsw_sp_bytes_cells(const struct mlxsw_sp *mlxsw_sp, u32 bytes); =20 +extern const struct mlxsw_sp_sb_vals mlxsw_sp1_sb_vals; +extern const struct mlxsw_sp_sb_vals mlxsw_sp2_sb_vals; + /* spectrum_switchdev.c */ int mlxsw_sp_switchdev_init(struct mlxsw_sp *mlxsw_sp); void mlxsw_sp_switchdev_fini(struct mlxsw_sp *mlxsw_sp); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c b/drive= rs/net/ethernet/mellanox/mlxsw/spectrum_buffers.c index 80066f437a65..cd23ec9268bc 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c @@ -73,6 +73,9 @@ struct mlxsw_sp_sb { u64 sb_size; }; =20 +struct mlxsw_sp_sb_vals { +}; + u32 mlxsw_sp_cells_bytes(const struct mlxsw_sp *mlxsw_sp, u32 cells) { return mlxsw_sp->sb->cell_size * cells; @@ -625,6 +628,12 @@ static void mlxsw_sp_pool_count(u16 *p_ingress_len, u1= 6 *p_egress_len) *p_egress_len =3D MLXSW_SP_SB_POOL_DESS_LEN - i; } =20 +const struct mlxsw_sp_sb_vals mlxsw_sp1_sb_vals =3D { +}; + +const struct mlxsw_sp_sb_vals mlxsw_sp2_sb_vals =3D { +}; + int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp) { u16 ing_pool_count; --=20 2.20.1