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,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 71689C4360F for ; Thu, 28 Feb 2019 06:59:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 34BDC21850 for ; Thu, 28 Feb 2019 06:59:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="HFX11/BG" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731223AbfB1G73 (ORCPT ); Thu, 28 Feb 2019 01:59:29 -0500 Received: from mail-eopbgr150072.outbound.protection.outlook.com ([40.107.15.72]:44354 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730965AbfB1G71 (ORCPT ); Thu, 28 Feb 2019 01:59:27 -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=oFy/hLAmg/B3Trq3DCMMKQw5GmBr8OP+grnB9m0W304=; b=HFX11/BGarRu6rchuT1a7iujur4qzbUsxGFJxzLYE44FkuS3A/hDLUe6GDXgBFH6MYEhOVt/6FBST1SaOer4nLgZTXgVEKNXIVGfDV53Xt+OjoykTgsbh1CCu2fiLtTii9uUmKsE9Zriw0cLgg4g9cRsq9NEOLSWhUSK9IDYyvk= Received: from AM6PR05MB5240.eurprd05.prod.outlook.com (20.177.196.214) by AM6PR05MB4168.eurprd05.prod.outlook.com (52.135.160.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.15; Thu, 28 Feb 2019 06:59:19 +0000 Received: from AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327]) by AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327%2]) with mapi id 15.20.1665.015; Thu, 28 Feb 2019 06:59:19 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , mlxsw , Ido Schimmel Subject: [PATCH net-next 04/14] mlxsw: spectrum_acl: Push rehash start/end code into separate functions Thread-Topic: [PATCH net-next 04/14] mlxsw: spectrum_acl: Push rehash start/end code into separate functions Thread-Index: AQHUzzMg5M9lTFi+00SFg3t3f/tqzw== Date: Thu, 28 Feb 2019 06:59:19 +0000 Message-ID: <20190228065850.7471-5-idosch@mellanox.com> References: <20190228065850.7471-1-idosch@mellanox.com> In-Reply-To: <20190228065850.7471-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR08CA0025.eurprd08.prod.outlook.com (2603:10a6:20b:c0::13) 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: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d79fd6ca-e8fd-439f-af80-08d69d4a4290 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB4168; x-ms-traffictypediagnostic: AM6PR05MB4168: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;AM6PR05MB4168;23:jjmi7YtzTBk7YouWYshu5SA2mJ+EZQAh3leKtxr?= =?iso-8859-1?Q?qSeF9wqtMHHdWsOgySMJMEZMzoDX06trx/zVSN4OXigH7Ob/x20a38yKOc?= =?iso-8859-1?Q?e5J5OtOa7KE7IOS6XJBYCrbnCjvJJKlZFi92xACKcnJ36fBmJaAC0K/3zq?= =?iso-8859-1?Q?eRpi4RVaVRQszP+f8kOuH+ZwyZNQB2IjSZLRhec7lUkt9CQh+AM8BOb2sp?= =?iso-8859-1?Q?eXLIMdx9Y4+9xWxtr/tidrBs0qkSpXlgxKMLPdj4U9K/dtb2eFGWX/zBGl?= =?iso-8859-1?Q?fxum23CEuoaMivZe/do/hnuBDzH9WNLDWBf0kiqkfsz891kfg3maz5K/cf?= =?iso-8859-1?Q?6pOGQ+Rpm+nxFkoazsWQZRBaz7MnOqE0/fPqoZru1liazwLxHUcF/Y7Zzx?= =?iso-8859-1?Q?MrMTmppnOajbiMOZ6ticuf+AUJVWXaCvOq1iRlvF9QyZFwJ2JrSnkMVP7f?= =?iso-8859-1?Q?AFzjUJUShlO20IziKwlSLzOp+DlZFw9mtzZzKxAH1dS6xo5XgifzCb6EqY?= =?iso-8859-1?Q?aHLhqvkmSKwks3DQCVn87WZ/dRqD0wO81xS4smrEhlwAMsvI1BfSP4nIXB?= =?iso-8859-1?Q?qwOEilOjLXbBMBS1MN+w9h2YGM0IXCwW6/jXVAcFCwKZkzKODEOWkyqpCa?= =?iso-8859-1?Q?hNiqZ/h4XUk60nCzr137c+IZETZDVQtg9EtXuyL51YLbzzwMwtAWp9vbEI?= =?iso-8859-1?Q?gzLDtZFs5XOWpByDjqKMMCuA5XUg3ZOPgfRX4bElS66NUtM1Gqwbrvp/ja?= =?iso-8859-1?Q?zoDSSGThHWflEhmjHeSurC6j3dAbXEQGNkfAj6QMFGxrsqTN1PQKNnxGhL?= =?iso-8859-1?Q?8nmXy/DEmudlhrvXjUvOLQnhuKbh6xnw2Vja9pNPhoqVS+n5eKWp6f7Bz7?= =?iso-8859-1?Q?CD9sFGnGVDv5QLcLtTrFsa0J9hv/YyDUQSu/BosMbvGHq7sxVQ8DO0t5T+?= =?iso-8859-1?Q?hMZcegOfEISvLzHQ16jnY9yZSxqMNjeDAbejd6dWa7iOXbE2/cwVorWzRD?= =?iso-8859-1?Q?8eNkkmfaPVnCls/uOsOT5iYHcJUxD8MwYo6UuCU77iubbOWCeEUBB3w814?= =?iso-8859-1?Q?jY1vF2lk820nNwoTqp1V67YCTqAcYYfrQZ9XuLn+oPpcv6xTJVMwCWZs13?= =?iso-8859-1?Q?ISxENFnGKx25KAe8WETpYkeidfCYg133LSOuUtTGvJL9e4KS8OOagZkbW/?= =?iso-8859-1?Q?PbAAd3UEXH/Q/WdJFIMpnO+TqcrpML3nCIBdG5KlpHticBuAkvQFOU4JG5?= =?iso-8859-1?Q?XWOPbmWdSB6QOZGZf5S0NZIjISDcHJq/eEURAP1lzQiZ6N+B+IV6Zn0fY9?= =?iso-8859-1?Q?BUnTdT9q5vDcOEwBtK7TTZPGmouQqe36WE9clIXw5U7DS2L5spfr+LU2q3?= =?iso-8859-1?Q?/l8YfZX0=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 0962D394D2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(39860400002)(376002)(366004)(136003)(396003)(189003)(199004)(97736004)(86362001)(478600001)(99286004)(8676002)(2906002)(5660300002)(1730700003)(54906003)(81156014)(81166006)(2616005)(476003)(6512007)(1076003)(11346002)(4326008)(316002)(446003)(105586002)(50226002)(66066001)(8936002)(106356001)(25786009)(76176011)(107886003)(53936002)(6436002)(68736007)(2351001)(2501003)(486006)(5640700003)(6486002)(7736002)(6916009)(14454004)(305945005)(102836004)(26005)(36756003)(6116002)(3846002)(6506007)(386003)(186003)(256004)(52116002)(71200400001)(71190400001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4168;H:AM6PR05MB5240.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A: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: mnxzaWg0ddhgm5O3dNVMiH1Rmek05RtElbhU8hEb187HBxnPiMyvZ21UXIx/hKguDJO6RNxYvW9+Sg0CI3ZunpeiSt7jLmOoP455DeMuPo749byxFShxzoEbTBy9l3CuJQfxmhMk7k2AbAdra/2d2DSHDdfrFMqWsfkR1P1vr4DrW3y4Hld6HQlu5XTv6coOtvO/OeWy4vVKvM/UON7x8p8iUU9nUclIzLPIPN9OMz4+0k7aZ70qHrt333p4yo3z9sLnK658uDppmvV79gtCdWpiyeHtRs3hyy+h/LGxsHObFZslYCMw5AsQcr/SMSv2sfnPGoKfMWrbt2r6TZMnC6UA8U/P3pG7DsPJvc8x1O6/3Es/YFgEWlpkAnISWQb+k4Ofv4pGph7Pb4NqFNpSBYN5oadImdsphU/pbqvCss4= 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: d79fd6ca-e8fd-439f-af80-08d69d4a4290 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2019 06:59:19.2114 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4168 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko In preparations for interrupt/continue of rehash work, put the code at the beginning/end of the rehash function into separate functions. Signed-off-by: Jiri Pirko Signed-off-by: Ido Schimmel --- .../mellanox/mlxsw/spectrum_acl_tcam.c | 41 +++++++++++++++---- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/driv= ers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c index ae1101c17f2c..fa204003bc84 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c @@ -1334,26 +1334,50 @@ mlxsw_sp_acl_tcam_vregion_migrate(struct mlxsw_sp *= mlxsw_sp, } =20 static int -mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlxsw_sp, - struct mlxsw_sp_acl_tcam_vregion *vregion) +mlxsw_sp_acl_tcam_vregion_rehash_start(struct mlxsw_sp *mlxsw_sp, + struct mlxsw_sp_acl_tcam_vregion *vregion, + struct mlxsw_sp_acl_tcam_rehash_ctx *ctx) { const struct mlxsw_sp_acl_tcam_ops *ops =3D mlxsw_sp->acl_tcam_ops; - struct mlxsw_sp_acl_tcam_rehash_ctx *ctx =3D &vregion->rehash.ctx; void *hints_priv; - int err; =20 trace_mlxsw_sp_acl_tcam_vregion_rehash(mlxsw_sp, vregion); if (vregion->failed_rollback) return -EBUSY; =20 hints_priv =3D ops->region_rehash_hints_get(vregion->region->priv); - if (IS_ERR(hints_priv)) { - err =3D PTR_ERR(hints_priv); + if (IS_ERR(hints_priv)) + return PTR_ERR(hints_priv); + + ctx->hints_priv =3D hints_priv; + + return 0; +} + +static void +mlxsw_sp_acl_tcam_vregion_rehash_end(struct mlxsw_sp *mlxsw_sp, + struct mlxsw_sp_acl_tcam_vregion *vregion, + struct mlxsw_sp_acl_tcam_rehash_ctx *ctx) +{ + const struct mlxsw_sp_acl_tcam_ops *ops =3D mlxsw_sp->acl_tcam_ops; + + ops->region_rehash_hints_put(ctx->hints_priv); + ctx->hints_priv =3D NULL; +} + +static int +mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlxsw_sp, + struct mlxsw_sp_acl_tcam_vregion *vregion) +{ + struct mlxsw_sp_acl_tcam_rehash_ctx *ctx =3D &vregion->rehash.ctx; + int err; + + err =3D mlxsw_sp_acl_tcam_vregion_rehash_start(mlxsw_sp, vregion, ctx); + if (err) { if (err !=3D -EAGAIN) dev_err(mlxsw_sp->bus_info->dev, "Failed get rehash hints\n"); return err; } - ctx->hints_priv =3D hints_priv; =20 err =3D mlxsw_sp_acl_tcam_vregion_migrate(mlxsw_sp, vregion, ctx); if (err) { @@ -1365,8 +1389,7 @@ mlxsw_sp_acl_tcam_vregion_rehash(struct mlxsw_sp *mlx= sw_sp, } } =20 - ops->region_rehash_hints_put(ctx->hints_priv); - ctx->hints_priv =3D NULL; + mlxsw_sp_acl_tcam_vregion_rehash_end(mlxsw_sp, vregion, ctx); return err; } =20 --=20 2.20.1