From patchwork Wed Jun 27 00:06:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Burton X-Patchwork-Id: 935185 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mips.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=wavesemi.onmicrosoft.com header.i=@wavesemi.onmicrosoft.com header.b="VYN3Wm5e"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41Fjs74P5Bz9s0n for ; Wed, 27 Jun 2018 10:07:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754770AbeF0AGi (ORCPT ); Tue, 26 Jun 2018 20:06:38 -0400 Received: from mail-eopbgr700099.outbound.protection.outlook.com ([40.107.70.99]:11034 "EHLO NAM04-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754676AbeF0AGf (ORCPT ); Tue, 26 Jun 2018 20:06:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wavesemi.onmicrosoft.com; s=selector1-wavecomp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Mwwg3WA2X5DaOz1alolBpEf2u60ZNvPBzdcQx8EPCtM=; b=VYN3Wm5eoNQmewnO8VtoKqZwEsWPgbRPtxqoYJJbaifMuCdPup9uhGxjCjZp5Rtz3tudYTkz2cF1295o52KrgNJ11U+99gxgmGx5V8D/hEXV3BW5hI4YIdGjN1HIg+mr+86nu1JQPbR9itQCcaVQ60uoCGwqSp141HTbYHB5SRI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=pburton@wavecomp.com; Received: from pburton-laptop.mipstec.com (4.16.204.77) by DM6PR08MB4940.namprd08.prod.outlook.com (2603:10b6:5:4b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.21; Wed, 27 Jun 2018 00:06:31 +0000 From: Paul Burton To: netdev@vger.kernel.org Cc: "David S . Miller" , Andrew Lunn , paul.burton@mips.com Subject: [PATCH v7 02/11] net: pch_gbe: Mask spare MAC addresses all at once Date: Tue, 26 Jun 2018 17:06:03 -0700 Message-Id: <20180627000612.27263-3-paul.burton@mips.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180627000612.27263-1-paul.burton@mips.com> References: <20180627000612.27263-1-paul.burton@mips.com> MIME-Version: 1.0 X-Originating-IP: [4.16.204.77] X-ClientProxiedBy: MWHPR1701CA0014.namprd17.prod.outlook.com (2603:10b6:301:14::24) To DM6PR08MB4940.namprd08.prod.outlook.com (2603:10b6:5:4b::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 51976451-13af-4de1-94a4-08d5dbc1d6a9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(8989117)(4534165)(7022125)(4603075)(4627221)(201702281549075)(8990107)(7048125)(7024125)(7027125)(7028125)(7023125)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR08MB4940; X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 3:cC4fk0wkxBSJ5qFodatzzSh3JBJSoMHcviXYuTYkFdwrNgqHesWOj6ejNc+A+J8+niHn+wKyKzgWZXAYZ8A6dRE8TJtFiP1oCdN4P3qBT1LaZAYyHNGOA14AgDI4VQESo0910q0kHBSqM752j5PLHjpDtMlwr6IcBcu4Ut9h6vfkgLQ/8zhrmpeiwVYnK+ouIF5ZcKJNx7XUv76OVZjkqibcoDdab1VxzUVB+UuhJDgpLoXT/+stI79anY58eWMs; 25:MJZKUvS+o+3geveC86vi08kDRR8HuZSGKOR4bxghhx/I1OMVtPlkSUFEk4o4FNEuoI8OkghxBTmxjc5kn4iNMjA6iLWpAk2L26o5l4ES2ox5ih1P3clmDcgs2h8MctJt8qlvlxCKUG/EV2X8sqJUah38uwqalYUEG/VI4t7M54G2Ha99ukFiht4gjTbIaU4gEOIjjpo4L7XVTmLPKy+BMtp3VwbDRHc+uWHgk/hkowiBbckA12ZrOB2/doVQhniLbIY66hJ6CbP1/DoA81ZKRrBZ+m/OdLGZMFcGh7M+vA01ndM8Tg5TJu5cxn43c0NHYSUAAaijLToDp5L4vosemQ==; 31:l8eIwP+lKTeJaiJqQG9lTURkl2hBlXNuz/NG0/WEK+87EBN2vnKCffzAxhsLgcm+yvpxvM46LWQdUbCuEbespmUouV7DsU9cdl95vWuYYFiO0jBw0tMBVj3H9K9JaAwxojhvqHPhcPFAZRNOJxxV1TIvXvs3STNMTT+rgtyCKO24GoQFqrzjFRV2bAIhnPODvUY9FXK+My5IfBHLTvGABQqaN37rGGUkyewnqrLEpUc= X-MS-TrafficTypeDiagnostic: DM6PR08MB4940: X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 20:vQrww39rtmkHR22+Vd6mOVqvleU89PioD+ng8PIGUjKJQK5H7VdpU9B7unsJNewthi7JLFJ294dJ+ugeyqzLwPz70kxkASqaoSdzNk66LxZyLl2OxZ9BP+iGPZhcjM7GI4wWV/pIqpTOJ5Ub+RT9mYVX3mOvj2lzBv8rnr0X4yrGQk/Ucil57q6uwmftSqeaXhLA+i9+SLB4CskRQMTeEseigvSfK7kdKaXs6oIyrDgpstYaVRT1b3Zs4Tt9Qc6T; 4:a/NeFQmm4Zga4RF4mH2jec+wmCMMO6LbZZq1uXP8Z8tbzGAHnPNAXODcJEjcbupokMXuznf+v1VaFdZZKD5jDI9ny/XeIzi30y5C+Ih2dqvGx3RFljccew1FOQZWggYJyvbqXdKJlbLRavjMhPBN+ihk8Emio0ipGJVpj+LPQimN5Y84wBlrPW2IhOG2530FdqIE7hFF4dt7rjyqIHkoIP7BGsGaM/13doKRezy34ZSCT46Mcvi1e7ZbrEwz9KO958/5+haE7oXUlg17BsCjl2zPuZgNVI5s0q/v0U3U/mUKCBAbzRNiLMVcbAv98MsO X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(2016111802025)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(6043046)(6072148)(201708071742011)(7699016); SRVR:DM6PR08MB4940; BCL:0; PCL:0; RULEID:; SRVR:DM6PR08MB4940; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(346002)(136003)(39840400004)(376002)(396003)(199004)(189003)(52116002)(36756003)(6666003)(5660300001)(16526019)(51416003)(66066001)(6916009)(2351001)(42882007)(316002)(386003)(53416004)(54906003)(47776003)(26005)(76176011)(6506007)(186003)(16586007)(6486002)(2361001)(48376002)(486006)(6116002)(8936002)(956004)(476003)(50466002)(3846002)(446003)(1076002)(6512007)(69596002)(2906002)(25786009)(4326008)(81156014)(8676002)(50226002)(107886003)(7736002)(2616005)(44832011)(106356001)(11346002)(97736004)(68736007)(105586002)(305945005)(478600001)(81166006)(53936002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR08MB4940; H:pburton-laptop.mipstec.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: wavecomp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 23:kAZMLn4F3l6dVaTPJpxwOjc2iQmkC/7ftf/azG/ZsZb6XCX4lLjewXT7SMyUhM26qYzivSnCETNj1/izT3p+Cbqcfq/HcANL3+ZduiV7IWTfX01BfY4jd/K0yIdNB1cObyHSGSG3rF97EIQjkBp6dNrDcQOLrBf7k7ThHxN1N17ZK8I03EJe/WFUQ5YfvTNC8kUW2gy6X9euxIqckBgt+N3xamdtzGhQ2PyxVbW0OPy7Ky+gyzD3RTCYSwqH2xkrjoBPAq7RUbqRE+t3bUKlbAvt+ih40j4etN5syDLZcOKJVwjyaLhEbuG/LSMMonk5l0Tp9o/dN2Ks7BDt+d0D2dwGGr7/qIdR8suEULn1PcDAU3Zy5Ajmc4x0ovBfnDOtmp2tJOxOgNplJ5eaT5FCFRxC85B9f/sZb5BNouKzDCKxMFelkCJ/LDmqNAeVUPCmLHmX00RLKh5EnZxrrtEzdJN18H9g2gUHhw5KZ1Ah1VsUJBX6Ylbqg0nw05bF7gL5DjYU54txCZHsgVjCWN69a2T54nLdUNIPvfkn1qDwctyLMckOmBMgNf6MWCguknWKy41vmjssy0KTSVYvjnRaBYuj7EjSKUQPcpVxrLIrfJE2f9erBFkuwCFdF7mcmbb+Fuwl2xF8ZISsFExuK9tD9UJRuUu92NGAKP1EDJn8CmA4DGwCEIuYAWASJEaj1qNotcwKaiNYOstlawcWmgUd0YTjS28Sfl9OgzYa8FdJozGLhQHzsQT7klXajSXtraz+PKmnqPf6LkeRWyWwcJV29B5H77+IiGZ2lEAXhU7OQ2IlxATcd5pnE/308QKzbb71oBWi+h9bjoPBqpn0hTx7tBqi57aTngu6ATr8GADJAutRzuTUTUGqnrMwtXX6rohNdjKwOJ96wznKt5hiMbNS6MKTBmSVms4WSr1J6I8GSDp4TUWIJmi2MAsiUGEVw8XC1jf1L9z4tdptOIWJew98GKIAeodmwfyeCfnE215TQ9etGwUDW7sB3RssWWmxVFum0Go7ble+xX1oFD/2J08Fg2WDLToluFu1D2uvaN6t/0PsCG7GLXFldG3h/okwBtjybjmg6SwvGr0eKTSjLcLmfVNObeNK8K0X9Tmjw4RvDjS1lmbEm6NhahgWUlJqhCA++dfGPJV6G64qU28wFvb2UCu/eH9wfhl01JGRaNDzGQTihSmj9+LKZ7BiC9TSIlxG9tqs3lpHFWe18qZJ7AhtsICUEZNiCk3xOAScKeUO8Jusd+z4dOSUtkeqo2Km3YSZJte26PD6gODFva+D1FHBFPFBksH+6kB5dSCGyYXRGMtCJMbUQge9YNL2MgNIiMJs X-Microsoft-Antispam-Message-Info: CIcrkli95+WGScoMPos4iIDn60OWNzRGRXTh2j6/wcufQ7mojQ/5nr8IKnCIktkzqaTr8NGcToVFvGsqm7Uv1vSvaCTGU1uxv31LIvfRd1v0seMv/ArC+tOIWuQx/n/pE3IVlY7K3rgtxr2udgITRtx2N62KpjvmdQGDcMgu4cflJj/IqQNXj+k/wCGZaWKyMT8MeY3VjJzW0dvaRLFosLDfD6+UM1jA9L4wEkzSz19waAwaoRumAM4gRCWSbYqrvkdlo4vG1RVnb5a8rBamcPdzC6QTKQ9KDYE1JgmngDEqCCyH/E+xdKQh9UbVWKjmgz4SmC6KMiqDO7ZEXEaohVz5TB4XWgA/7SIvJgfIoXc= X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 6:VmeNnqjiyYL3rsD2QTaGZ4F/Oc9iiUazVxvCEzRjkat61A2XzLx8t8jsz8F6n6nid9mt2mxNup7K9zTZCD0JxtWlqRo6L/KHwYAHbmWzzoIGu8jyIRwaEWzw7U/8RNbmfIo6YCMAfDBOXo2XH6YkY6Xw0nOQ5LueFT5ekCVMwADzDk/P0lqTyCHB3cbasQngmHc9rQXmrHynWB/TchH0NQrz77Ho2AXu/UPlvmDIvcV/vkG+eZ1wXKDk+W1JCBbO+o3JSn/P2lRxYq98PLyMIljtKNRRHFWjKHWT8KcJXb95iNdHgOFBRqymLvwYm7IAbgbip5B/BEe8NWfYTPo+VbpZHaE9V5MvJffqqS0pLyuwGgyI8fijebv1mAxSDRsMdsNKnrHmE+aprF/aQrXALdVoqhCVD8h6kipZTfB9f9gSSoGuKezdggwUxlmIy/LzHqqeHpqnsGQ67y6f+Oj1sA==; 5:DDe+6xA+pDsa1qpvkBS3UKZE7uJjWWYesj3h5gUu9M9U/j56cM9wJUSiu75ZnKINRfStgGmRY7j9mAXaSppghKJUXMt5BNgcFY46U6sbIFBqAZrBiK8iHat15Ub8HGAFGRN3dI3d1wBQd1EDDzcWUF4+2xIzs4bqwWjmqkxMr78=; 24:Quygy0ZI25BmWAYJ2/2NEn58iDotSxVRlxEnKHSKnUb6R4Q9SlTgsrR6bA0UmObHXaqPFQdnEGD5jpNAemTdv6roWTnsBXjyAKckDOAEcsA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM6PR08MB4940; 7:sWJ0t8Drkwd/PyOqrqvz7BrnYXysEHfeEtywJc5glKNQ9aI5lIzCIJaeG2Ah6bdwXmgX6Efh4EItMxSJih/cEOwqbzS/K1xiM/W8fFmkosb/7FeZ/sy7jQw2UUMkPn+uk25OzG3dAS/jrQgGfGH/Dnbv6UygvbOaY2wYIXgeSHzVNoDha1w1+706KJmptviB1O4PkODD28H+UQbMxquo9Nq20n5iSW+4PNRTy5n/Mo6vEthJ4JDOt6wfNWSYGnst X-OriginatorOrg: mips.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 00:06:31.5839 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51976451-13af-4de1-94a4-08d5dbc1d6a9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 463607d3-1db3-40a0-8a29-970c56230104 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR08MB4940 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org pch_gbe_set_multi() loops through each unused MAC address register, masking them one by one & waiting for a bit to clear indicating that the change has taken effect before zeroing out the MAC register. This is needlessly inefficient. We can instead set all the desired mask bits with a single write to the ADDR_MASK register & wait only once for the busy bit to clear indicating that the addresses are masked (ie. ignored) as required. It's pointless zeroing the MAC registers since they're masked anyway so their contents are irrelevant, so we can avoid looping over them here entirely. Signed-off-by: Paul Burton Cc: Andrew Lunn Cc: David S. Miller Cc: netdev@vger.kernel.org --- Changes in v7: New patch drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c index 8908ef654d94..9651fa02d4bb 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c @@ -2140,15 +2140,13 @@ static void pch_gbe_set_multi(struct net_device *netdev) pch_gbe_mac_mar_set(hw, ha->addr, i++); /* If there are spare MAC registers, mask & clear them */ - for (; i < PCH_GBE_MAR_ENTRIES; i++) { - /* Clear MAC address mask */ + if (i < PCH_GBE_MAR_ENTRIES) { adrmask = ioread32(&hw->reg->ADDR_MASK); - iowrite32(adrmask | BIT(i), &hw->reg->ADDR_MASK); + adrmask |= GENMASK(PCH_GBE_MAR_ENTRIES - 1, i); + iowrite32(adrmask, &hw->reg->ADDR_MASK); + /* wait busy */ pch_gbe_wait_clr_bit(&hw->reg->ADDR_MASK, PCH_GBE_BUSY); - /* Clear MAC address */ - iowrite32(0, &hw->reg->mac_adr[i].high); - iowrite32(0, &hw->reg->mac_adr[i].low); } netdev_dbg(netdev,