From patchwork Sat Dec 5 19:17:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411602 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=BFWn2pGW; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKGB2hk4z9sWR for ; Sun, 6 Dec 2020 06:22:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727953AbgLETWX (ORCPT ); Sat, 5 Dec 2020 14:22:23 -0500 Received: from mail-am6eur05on2101.outbound.protection.outlook.com ([40.107.22.101]:29825 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725973AbgLETTI (ORCPT ); Sat, 5 Dec 2020 14:19:08 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MnE0bVK1Nv0U7j9TTmn7cEQAAwSSmYM2/MT3Z02rk3R1ePtjPTOVygEzh5lRuPDs1jEhfBoqTJolchzN3P9ipd0yO95qnNjxSCu5wIeWh9Bkoui/zqCElEdQ5Ta136BLRUw0wPVrf/X1rfvQplR9JweRmbgzxmT6qYHX8d+KiK9lJChQf8ZNrsvFR6sFLJDgJ6JFpAI6/lc79aiQmAeiu9chSNIf71634Q1V8wHkK62iSdax7zfbuzxGHesOG8EOmbt9Xna54TSGEbBoyezJuwo8jeLCrBR+OGYpDvHk+BNXE3NSFPGJ5/0CcP2ORJ/L08irslSjah56onZWgZfp8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rKYTTJjfAYq2SHbpf0pgwGx+PpevNL4ulj/gk7Gdwr4=; b=YybYd/QKcYXzpxsH6WAuoQJ1aP+HeAPF4swfpdpFSP6GBIhgToX29tWfIi2t6bujAAUCoQaK4ZnehrN0e6zBWGI361d9SnuqYFMbY3Fkfz/ZKuCE0rc9ypKhzt6wU99L1wuL39vW3Mi/6M/0cnSonajJU1yOvM4sTDWEpRLVJKIUkoDdIuPyFgm0sH7n7uvxXUCxCJ8NNALjDC9JLpEp/CFp0J5EDUnNh7exd5Bk0/UulAQAIywrjfjTZGYvKa+X7FWl0WSWbDiPIfog4pjjkL1zEjv0BWYMCypFWnAJNbm6sH4aen5naCABGxw0Uj1+7N3+4dJcxobBJhPBmwnxFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rKYTTJjfAYq2SHbpf0pgwGx+PpevNL4ulj/gk7Gdwr4=; b=BFWn2pGWVhht7Y+aMLeN2dV3aEIdqdPVPkBKppCYlLxvQUIqXhV1TB8ucKVKKnHoZ19NtXJn6JqDrCFyF9QSdbaGIr7cxmXPsVi4M57HNEZpnhoc+rpT/ra76vA4T8yT4RtXhEqAsfnu/jdwkoncdzJ9V/CbXgkMuv9fzmiBALA= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:18 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:17 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski , Murali Krishna Policharla , Florian Fainelli , Vladimir Oltean Cc: Zhao Qiang , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/20] ethernet: ucc_geth: set dev->max_mtu to 1518 Date: Sat, 5 Dec 2020 20:17:24 +0100 Message-Id: <20201205191744.7847-2-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:17 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 55ed57e5-51ce-4b10-7060-08d899528567 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uX0ygCh4xAy1OsUAKag9n7X8+icikxLzMJh9bcCUTmCx1QrIIX/PcnRt68TUxa2hKm66K73QquHNDmvMqTlAtkvFVfIKplU01Dk8V4BCv4IVOoS9/GVD7q8cHbLB9I/CZYfVqLkiJW81UNI52bWg1VtzJ8m6k+k0cnQ4zDlPCfk7IBkP/350wzDTbq7ufCORNewwhfULCcY+5uifv8RBZu9G/RNbT7NmCUcgLtqkXlc0JETKitC/cnHk9e+WgOVnFv5Yb9ry+7F4bBvSMcBBVAL5eU2CB1f/uUVPDEV2+EyuFqCxWBfTjIYwhacfC9df43yD5dqcZHN/REcf+/snWw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(7416002)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: +KnOMDX2SE8w3VxPbTCxSFRExjqaxMD5y4FpExYaT0Ym7+6YFloEi17/1nTXAwN/bnOEL4ObZuSESci7F1yJMn2+LDpNliha2l2pWrR+vkdrFyNveFCwGJ6IKV91dZ6aUwq0KvFhLbH1UbKTQpC6KNhckBwUGSicPfRfbdz6ZeaDM6Pdjyql7w1uzbQLbqnwEspQ/VyZnnbRY/dLkfboYRbpwvV3yF3bV1lbMRemupnyiFBje5+71Pk/T0AclStWJO473ADOJsyFTJs+zwdPPiGoXm3bgiloPrd120AUiVak2JMxOXWpgWmS1Dyj1QWzvYT17ysSFL7bhtNCbyY26/5qo9zleY4nADPfzMZNkS9MCcj1jSGN0odC7OntmubgbHvlKBZhVz4TBxC8DKxFSZyVGRwRdR32udg67UqxIeSS7maOwUOMiuo1lBmivUnuIEPb8CsXLHO/jO4N2RAn2UNNZBSzDUu/6oNPF9hPYW4YpSSg1cBiNrJ3qQi1E7arihiPFonS/Y1ajPOfeEWy2xXXekZHRj11mki7V500aeyqcEJfMIWI/MnL6eRBW0SedZVZS6nbvwB6rstgQggll83GQRnTL7S8Py4kiScBXRN1aXjpQBdcoRsRjqUYmSsUWmZ4mMsZfVt29PVOC6UOfdvPZ9F9mltxHsxtzewH6Knauk7WYzFdt/I7VAM175yyxbZp+gwZApQIu3iDuX8gTz3k2/UtNAV0BvAZlGQWi2zW9YUiMop3iFqeSU8HqWn3VZuVHrQKTAKXv+lzXpxPNwff1kyuXY2tlnPHvXWY75e3MT0ORLLD/Ohh0niBKau7q1wB+fViqRVcBRvddDSVcS/dV5iBsAZMcEU/MUWO5b0lzUtv5Ris9fSprLbJfX4i3I0Ema8lMS1JL+pVXQNrwb38LpHCgvK4iW/RozWsrghpJFHKRJ6KDnPskmwBYPnFWMad449kfh6i/U5DfixTLy2iyIEoR5aKVqqO18JVipVGm7zvLcucqqWQaPnt8xxp X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 55ed57e5-51ce-4b10-7060-08d899528567 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:17.9070 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tERVoIkKN6pLidz+awmXi7a14UAzx2Z0V2iAwbFGsfSb69x8pjAFfScf3kpdCCgGJK8aFxrtnQDiVrBB+O/rkA0E+1wOTAGEhbsqg+r7rFs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org All the buffers and registers are already set up appropriately for an MTU slightly above 1500, so we just need to expose this to the networking stack. AFAICT, there's no need to implement .ndo_change_mtu when the receive buffers are always set up to support the max_mtu. This fixes several warnings during boot on our mpc8309-board with an embedded mv88e6250 switch: mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 0 ... mv88e6085 mdio@e0102120:10: nonfatal error -34 setting MTU 1500 on port 4 ucc_geth e0102000.ethernet eth1: error -22 setting MTU to 1504 to include DSA overhead The last line explains what the DSA stack tries to do: achieving an MTU of 1500 on-the-wire requires that the master netdevice connected to the CPU port supports an MTU of 1500+the tagging overhead. Fixes: bfcb813203e6 ("net: dsa: configure the MTU for switch ports") Cc: Vladimir Oltean Signed-off-by: Rasmus Villemoes Reviewed-by: Andrew Lunn --- drivers/net/ethernet/freescale/ucc_geth.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 714b501be7d0..380c1f09adaf 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -3889,6 +3889,7 @@ static int ucc_geth_probe(struct platform_device* ofdev) INIT_WORK(&ugeth->timeout_work, ucc_geth_timeout_work); netif_napi_add(dev, &ugeth->napi, ucc_geth_poll, 64); dev->mtu = 1500; + dev->max_mtu = 1518; ugeth->msg_enable = netif_msg_init(debug.msg_enable, UGETH_MSG_DEFAULT); ugeth->phy_interface = phy_interface; From patchwork Sat Dec 5 19:17:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411584 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=AUjYELBV; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKCM2qzRz9sW8 for ; Sun, 6 Dec 2020 06:19:59 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726609AbgLETT2 (ORCPT ); Sat, 5 Dec 2020 14:19:28 -0500 Received: from mail-am6eur05on2119.outbound.protection.outlook.com ([40.107.22.119]:7011 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725902AbgLETTN (ORCPT ); Sat, 5 Dec 2020 14:19:13 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QmA+LdE07DiYu4+jLA4oAJDXT3IVqG/ItuBd1H0MjsiXeimi+eDSXgHOM4Q8sGQGGkXm9nSusRq9bWMjfLB0wtTyDFtsgBHlNlxL0x8v4qj0zDFtifqjDK/t6gEIeOZpgbx5M/W20ZgxKEWIMWegCU0DJdrclzmNtpIc/Bm9AMluR3YIkzMaG2N+K4uCk+YdqYDHDGV6Sv8vE+2eyaH7lQzRTtQyVccrXEL+p29ayJWcj7EkHDZvEN8MA3zi7zSWY+8nGxHltAKrP7o/8g1azRKYpWGQprgG1ICbceniVXon1GG1LOKDhr/7hbZBNVJLbcaWbCtIe/pRjSltlfAyYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gkCRv1cpcMBcINj2tEY21IZ9I/xHKv6lZzxZhPcmuQ8=; b=eOPhVQE09MiFiNMoqCK0qqWWDpHhWGyFcU+gmeqJW7K8ubzhdq0IqXSEdQVxq6GNtnES2QEXtR39xh5LXza5aXw9pa4mODjpR3IxPHMv8T1MCxl3reabIMH4iJ8kL1AZ9F7ktqJ/4pLd3Kc8VrQtcoYuXrYfejoT5qS0I2iXepV40WD0NhZnZosBtyY6GbWd8W1GoU0VgIDHFuR5w75OvAp5FznvvTnoXFQ+N3lvOyW6/bd512hoRRMRu4gZ96H9y5DZZkjq/zj3lKwTqPjPu7MfLImBpG035FothsOQjj2biNK0oxlQOhblCrOKhpkfQ1keqnk5VlozVRuw9lZyBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gkCRv1cpcMBcINj2tEY21IZ9I/xHKv6lZzxZhPcmuQ8=; b=AUjYELBVrYzDRgi08nkdrh/aYR2hxxVgVVkCaTgXb2P2FKqz2s19sU2bjM9x0kcunlu1OAxNWyHexg5mdKxdNopMx/TFprB89VxagypfU2mLePVJMcEy95hXRncRFB0bTYh1bTmXveHowRDj/TUBbgoqBFBje36E53v/BZ1Fy5k= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:19 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:19 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/20] ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram Date: Sat, 5 Dec 2020 20:17:25 +0100 Message-Id: <20201205191744.7847-3-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:18 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9e10cf3a-404b-4257-1478-08d8995285f0 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ATMaDT22gB8Ew51QMzugKcQbRAW8dGiYru8ns1Z5BiPrafWriCsaMxzz9tEeeTsrgQCCCGakaCI88PYhUN2aZY95WoxIk7dhvC3I7lBzmWZdWBy1KAzptDVpqmVVTuASj74DihtQFXddy67IpQTwzbWB/VRPHR+C/1OC6KAxntgZ7aPbRosTLkMW0j9HMYyF7GzruQmASleZGGpLcgLkqk5BKLFyTxXQdzH8zlLRRHy5ULhaogEtqPliWGqZUzjspd+bd5PCQ1uuAZaj79tSoeufLzrSXBGtQ1nLG3QMp0ls18VBmCUcwVO+qpXPZFkh70zNphKbjTktg9S5ENoRBw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: It94mAI0AKYv75w+TcZI0Tm1OB+q0FFPUQITyfzdN9zkHWEXm1Nh2NU5QtkJu7ZFGUEXRf6P2lug2r4vUAvP729yoGm+1Ue/cTbec9W/it39alG93cuf8yj6Mzi7YaJF+y8iKCkQ77WK3GY8GMPmLisW7+49w+2aeu+XXHq8AKqLBhF2CNMNkKj9bnvLVcJju0dBHoJsuaDP5GaBrKD/2cU86vSKmOst2QwjZYmZ5vQmXapxFquAg7p4/7ZozcxqHGPqzk3E+99TkgKQTMjclrBiaT16cZsJyTd3T6yhhZHpbZ0/HaL1wUbbV6FqvuX0mvYdTxHxqes6IUSfpSUSnxYorNX4zti3yyLR5xYp2lsX9oU/hfJX3v93izSTxeYIBexHQxnNR9dUKsX8X/zJKe2kFqordQoiCrZ5Y/veD384whAd+EH25i6kNlvzCPdlgMd2oW+9wqsshhJyLQ9hG5i4HJWSsei7/6ZARUn7uVeshb33k7GCTwRkH9vwjcQ/icgOZOOCbwkET1OafcYab9sx8qjEDwdHaZmqxF6xhVrHB2GklpMcAuPx0MfP3K3jV+Pjcf4jdsln3SD/HQIkjw/qAdUCzZ5vYlAqRYg2D/Ie3W8SyaQYVhSQvhRhapckYlS/akd4ip5F5Suu+y0uvBQIr+gj4KuAfrUXDNCooCQnqPkbCqaVhEfZ/L0+Pt/TAfWtkgxLBehdgWHTw8b8aoRg7sWqwyncX8M63DEbhYIBXd8fCod+RtOYEXAfDEjnS3b7o/Agj/BiNrclkjXTSLlHtJZHKbPkeDB+nOV4Cu4XM8EMVWFxtAa3fzlXgCDd3bI6pvE46h2flQIXy7OcXAd9OuQT1CL/noAfPOGbQUZfc2s8DQhFNwhs2WFuXxamJOK5jB9p+GJFiqMlljAqUWeFPCGqiEha0VpGQcbPy4vS0Etg0r1zy2LiiUt9HJHdIlKB8iAPt/5LSx/nRXLYLBgqQjxpe9VzexFIQgMbF4ktMRf+FOr9hlButxByGYHf X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 9e10cf3a-404b-4257-1478-08d8995285f0 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:18.7666 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RAV6oK+KwloH6S3mzDO7mac+Ml0OzKbEny5DncCFVubd//qRnwmgQHX+2RRPfX+rU1SkA8KISh/n1OLPx5ICsc5/0zFc+2hjK4OHpIzpeZo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Table 8-53 in the QUICC Engine Reference manual shows definitions of fields up to a size of 192 bytes, not just 128. But in table 8-111, one does find the text Base Address of the Global Transmitter Parameter RAM Page. [...] The user needs to allocate 128 bytes for this page. The address must be aligned to the page size. I've checked both rev. 7 (11/2015) and rev. 9 (05/2018) of the manual; they both have this inconsistency (and the table numbers are the same). Adding a bit of debug printing, on my board the struct ucc_geth_tx_global_pram is allocated at offset 0x880, while the (opaque) ucc_geth_thread_data_tx gets allocated immediately afterwards, at 0x900. So whatever the engine writes into the thread data overlaps with the tail of the global tx pram (and devmem says that something does get written during a simple ping). I haven't observed any failure that could be attributed to this, but it seems to be the kind of thing that would be extremely hard to debug. So extend the struct definition so that we do allocate 192 bytes. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.h b/drivers/net/ethernet/freescale/ucc_geth.h index 3fe903972195..c80bed2c995c 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.h +++ b/drivers/net/ethernet/freescale/ucc_geth.h @@ -575,7 +575,14 @@ struct ucc_geth_tx_global_pram { u32 vtagtable[0x8]; /* 8 4-byte VLAN tags */ u32 tqptr; /* a base pointer to the Tx Queues Memory Region */ - u8 res2[0x80 - 0x74]; + u8 res2[0x78 - 0x74]; + u64 snums_en; + u32 l2l3baseptr; /* top byte consists of a few other bit fields */ + + u16 mtu[8]; + u8 res3[0xa8 - 0x94]; + u32 wrrtablebase; /* top byte is reserved */ + u8 res4[0xc0 - 0xac]; } __packed; /* structure representing Extended Filtering Global Parameters in PRAM */ From patchwork Sat Dec 5 19:17:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411585 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=eRV2mjOg; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKCP5n51z9sW8 for ; Sun, 6 Dec 2020 06:20:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726395AbgLETT1 (ORCPT ); Sat, 5 Dec 2020 14:19:27 -0500 Received: from mail-am6eur05on2131.outbound.protection.outlook.com ([40.107.22.131]:50144 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726250AbgLETTS (ORCPT ); Sat, 5 Dec 2020 14:19:18 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fmkDkDzklWTIwSOCMk7CcVbLqh4dlewyqiSJk6YIYmOIRSssMfhQWVYkGYtGwfelBBkFs8EwQzGJRcE9hw6nNFg4p1MlORPApZmii0K4QM3fI44BSecE8RKXvW0W1dmdqVt26d4mx59ORd4NvDhNWg+FDv5A12cWBjxZeZSkshGWh0ORgFUN4Z9OyXXay9J2Vme6eKU2GOSB4CAdOngLepE641nUTP9YwosFhrrN0rqHGzB+o5+16SrCRengWC2RbsFsROHb2SGgS89cCHLlcNBu+lzGeGRV19ZGxDoAJFSOUZUnnmxP20gJuEUIQqRjf5HGdlJSbiapT50lExOuNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=74AwuYD7tIlZeGJl3TpO+C6fy2U26V8Sr/Ae9opE6+Y=; b=XyN7fJD0ME6LYbIz0GMs3nQZ5h8ZNLTolj3liqGdvhqzlQ6usdYA75aaGRaJbpXGz0QD4k9Ns6iVQgjfzk3KAUU+3YWwuFazwqAV/ZC3DuAFwfzhcBiDcsjrTno6e2wNTnptdiUWxye7yKx+PwMWGArLnYy/IOjqScJCv/JqtLwbronqyhtc/sxl/fBXom7hmUad1v7vLrAaYSNLCn4JT5tSNyP2vL/AAWQWJhwV3PRiIR0zbnlkF0n+BFlsjwofXkOh1q4H7ZR11DVdwfEDRWNqATny2Af/lqyOa7roDxmyXA0tBH0XW8OjDXu6abPKGTsQJTjPQdNfeo5wFdl01A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=74AwuYD7tIlZeGJl3TpO+C6fy2U26V8Sr/Ae9opE6+Y=; b=eRV2mjOgrkz1yOlln+CTBMYZ9gxiqiiPm4e18y7uYEJpx0BlQRWYcTQGsBQIOjyjU8MjaQm3ppphC0rxiMH77RBqowmDzt5K3hu1ADCpjtH8Lv8kLx1GyksKMWPetwEH9X7rjjIOG4e4G9XRwcW6NfyMIZWRdBmvz3c4J25jV40= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:20 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:20 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/20] ethernet: ucc_geth: remove unused read of temoder field Date: Sat, 5 Dec 2020 20:17:26 +0100 Message-Id: <20201205191744.7847-4-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a686bcc6-f3b3-4238-acfc-08d899528663 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3513; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6rHsFAnszMS0tNpzuRTuyz73L1gl6wbTPXqPXO+2chdSpc9bsSRPi95qmV4J3fddMkwsPbUWmk8ZoAuMn+rPShBJanwApdqruoyCLCUZH8f72vFC+/2EJlNNEdlNIT7JkYE5NxnkPg9APwd2wPT20F7qA15sjtHX4Co7pR4uMAjGoFTsBy0/bTTmgKwVgtwZ77XsDeGa0qOHqDr/DuG0FXZlp11+hDS2YJl4cXRRMxGIp67kdYzltTsDeZQxm0iWJNiKJ0LHLHidOwzRU9IVx52Ro0Fw1T4kbv40IgCHMi2c7RN/gqSXadW21gMfot6yEw82OiDwmucn89PeBCmnzw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: lTc5fznCjD6lD38hsnKV547ogVzxDP0+GS+7BpZbhZuG0Fd7aGnJ+E1SdibevUV8tzmp3+jNQacARxhS1yQCa46QXgmRw1sKW4m10C8xRgytm8OIkniixH90FsBvbtjZf8NVKQ/Vy6GPBIge5qmVQ2ZNExnqxTtwcxuTjZ42n+qkXGjyYmzEXjZJDUAxZ/1Yi80rV8fCg4qKCjj4s/DelxNxtNzi9dQkv+NNnANHDpZYUQCdwlpZevj50LKiNRCiNlSEA1Jf09GIjzWP7XX3+l+97ZnMkzYocPgwzwJT8tl4H8B2Ajp95gvUv4Un3LVqe5IDpArbRUjeQzZVtiHlyoab77ALETstig9+R0yJSfB98Wzr4DqYtknZkxr/+HOk8QALDFpDFrWFn9YMX5yqLnIqX8Gr/Nih/KMPCfhaVI2MF3PUdsAiJxg5hx42WHmvG7+poMhReFrLS0f4JGF/wOs5hvQuHfWx2/fd3RYOSyJqyN6WylkxEQjb5tN1+U1OTr/1KvuLio767phoX+Nz7OEtrqV6wuNyT/ynHMnxU4QN0RIrUOfz9O6CV41DpNauahk5PZKh2G5u+9VHk3UfXhN0EvGOXXJWPe/76A0hil8Y9k/9FLlQl9e5TyBepYpY79OWQYITyxLAz6ngR6dllrXLU2E3ZyzGZtbSd86jerbCHKDRvDRok3OQ876nWuLCRbvyQ9Qp0jtvlT9HRbgVG7S1c1/sKYrPAM/lj/RTYJBc7Q/zqHFviiVBxk9u1Hs3LETs5Ma4QctrX34JnO8tfweTnD9RestomxRF+3Tq23avPY070HiuI8cNfYTBhFC7vu87hSqcVYpmYL+h1CQanH1P0T++50mee0rNJr0fD7Xizj0gYeU/gpO02IYjEMjD+PpEsHj2zThKJYAREVx7/OzKMN9vkH52t2/l1UOr7iWFOs/wUH5LS0t2LJhsiQ5JR0Tlo22gEeMK1u/iAr1ejGld/VGiBCD09qvbUMyBiLzXeHrekhj+EPY/oyPoLDuB X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: a686bcc6-f3b3-4238-acfc-08d899528663 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:19.5501 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Iuuut0wqIn4v4w8F43qYLXkSbR1MoaU7cBtvJEOhbYRevNztb7qI/EXEaA1l+qcmRT8tOTq2obWNvsY9HM6AHVY7ReyNBQgaFlsYx4QsYMU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In theory, such a read-after-write might be required by the hardware, but nothing in the data sheet suggests that to be the case. The name test also suggests that it's some debug leftover. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 380c1f09adaf..6446f2e562c9 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2359,7 +2359,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) u32 init_enet_pram_offset, cecr_subblock, command; u32 ifstat, i, j, size, l2qt, l3qt; u16 temoder = UCC_GETH_TEMODER_INIT; - u16 test; u8 function_code = 0; u8 __iomem *endOfRing; u8 numThreadsRxNumerical, numThreadsTxNumerical; @@ -2667,8 +2666,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) temoder |= ((ug_info->numQueuesTx - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); out_be16(&ugeth->p_tx_glbl_pram->temoder, temoder); - test = in_be16(&ugeth->p_tx_glbl_pram->temoder); - /* Function code register value to be used later */ function_code = UCC_BMR_BO_BE | UCC_BMR_GBL; /* Required for QE */ From patchwork Sat Dec 5 19:17:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411587 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=Bg1PgkW7; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKCS4FWWz9sWR for ; Sun, 6 Dec 2020 06:20:04 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727060AbgLETT6 (ORCPT ); Sat, 5 Dec 2020 14:19:58 -0500 Received: from mail-am6eur05on2119.outbound.protection.outlook.com ([40.107.22.119]:7011 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725902AbgLETTh (ORCPT ); Sat, 5 Dec 2020 14:19:37 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GVX4UIeg9/Rx4dAPA1Oin8ZM7hI9frhCY0J6HOB7LKl0ACzp8q+G3iD1mb2UcVmVGax2Ord74hm0sZMuPqzG4IE6akVyjlG5R8FCo9pBNUJqQtS9WkmTNFzKjsFt0rvfwkvEeTgh0pfDDNmMcWGUppzODGtJO+4MsDQ6eRQ9oPmC9/bt196ZoMJKLJX3A8JlAMkCfoASpsIDyU7TI3ow4zJIBV1AiIRrqPIYYQpyTj7Db/36d60V3tH5IYQ9OXggV6KFCO/t9cVbYu3bRFWhK7ZMYRz1CW4r7qtUwlKi2RvJaUr5hfKvqtTW0lv3KhGRYjnIg07jARtymYBPA4GJ4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/nFx5CL8o/Bsv7UCujawuGddlmBUO91xAOUF5SEfX9M=; b=JvCxrZfe5Nu7dD05sdDKw6RZm1iafQXE64suuN7eamlwKb2/5LAOEuOHQ5mLB17T+Mou4xB9SFYSINeyJ6Hq6PQpACFN6a2ptG5WvfccWU14RizPGSgU39ts7dQ+JNHt6XsjVnMBGPaBbdyWdBVH/F2ETLefe0sFLLU8YKFWnCFIHdXabc1xO/91OxN90iMVgJB09xIxMsdfpe1xQt0KyGs8fwYe9Dg9JnylxZc80+QmSAU+L4qokJcEFWiXeOpyY4+ogHxdLIj0vZPs1folRwRLcDVOzyJ7QhH0upjiVlaS7Fpq/WkWmMRH0/p7y4J2+ih83z6H6pLW4l1Cnl+6zg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/nFx5CL8o/Bsv7UCujawuGddlmBUO91xAOUF5SEfX9M=; b=Bg1PgkW7s80kpuY/Lsj2k7+6X+NHxjhwT+vEGrOC2KzrWnXaIfNJOqtabkpUUlhMxjqOM6UNI8G2BHwMiwMbfU/fVtZk26MoiUYt2hoGZEfvIcMtJ+yeak9/sEqhZnvVy3JTFknixGhlTFYtIO7AqNIfNkQjOpdleJy2kK+iNJY= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:23 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:23 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/20] ethernet: ucc_geth: use qe_muram_free_addr() Date: Sat, 5 Dec 2020 20:17:30 +0100 Message-Id: <20201205191744.7847-8-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:22 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91a5f2bd-831c-403d-125a-08d89952887f X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2089; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lsCRh38ZPo4z9zQ1XXf1L3vtyXYuBkE2YvBHGzjcoS6z8TXsnn/za6TveTXmNkbT2yujh3VGAw8S7jR3UbBVcH3FU49sn0iI5/TFK6kZ18skooKncQd4qVybTexpMfGvMJIJ3xUM7IMVgdt1++UJ9nNDiOEKi5mUXdJEQJ/qbSGYRKNL5uFpihVN6aeKEpguz2JbNNiFbLL2k6PUO/rcccVq8nqQrEVVbFbbpT259w0gCftm6D0RCsvegOSJ5kDMClUExAgkMJgDvrgq9nzj/jRotk1FvrPOauXg8QNE/KFzljaUSylNklfb/nB5eEENv4yc1Vu3hE88W1Yvjfm4pw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: HOUCAeZP71rfnGVkSi0/9Mx/zwtAavh5xZWX2vy03pJ+BpnAE8E5WNxg1zoVnUPtFrHPQWhDPHhSawXXZFznTY46Mp/4y34DdGZDHtjyewpaSd4U705KMkXvGhZJg67quxJ8iCmuphRrc54eGTYjWzNbzCfLgOcTFeaEBPMhSzkr148OQMjvBBhP9bsmVVEOdgTfdXAkp1UBE+hKGdAHibdiQnYv8bk0Qz1Jdtu6KpnBcSiOxTJ+tQpSmjwwSsLgyqjEN++TvOUec1RxLO7AnV3D5uKkU0rGZM9sly5DCw//kQ647NBQWpggt25fNQL0Ahxqe9FruLxbyw9MrQhUu81VAH2i6rDG3jysYdxkAN84+tipxU3KsJRVLKmh/divlsAr4/IfS0bkBNDAHriIOMi+MFCm3xQIiueKYtkIgb0c/EyZWYttF51h0K+0R2K3jSBNlBtSfRZpCzxSAFx/MME7Y2UF3dsiibr1YJ93mB8G4oJWHR5yyxFc1z8vDgMt8dJOUrC3PlH2HLCXA/S9MkOacwarjkrbG1dpBYvUAOX35FSptqpD9V8IuzsFpPXRgVpjvP189z78m5LLXmKoX6Fyi0qRjkl8PdjTRNKFitpeT1dFZL//KNsynnArxYN04PD4jVavHYi+kI/BL1Sv9j+UA6E/ZVnnTZFSA98vpvO1HGpDVqckB1rjAGMcAGjycpq/HU/fIe4nH6x5HuugJE5bNC6/LmpksNfjOIgTQoQcFgk9MFCRCQUttYMqAmYSYrYVhoPP0Gsy1S2PbYEqMmfVcNT98BnwTtQ57xV0WYsR8bAYCvEtOYubHjTdhH0Fkv+8zFlbLgLU+U29QIOMnO0cgZx46S9SIbMPR0M5r/xX33AugtW6cloEqVMlldX4C4gdXec0xSP5LskG0zzQIA+tZX3h1tgNcNz4fQHYZV5jpi2075ELG6gDuhva7uIXLenO1Qls7H9l8tHonRQOU5NOaNIqS3+mckAD+A0cVEnfXxqUCsE5OjRlCLMyPkmy X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 91a5f2bd-831c-403d-125a-08d89952887f X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:23.0521 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KFwjY2lnu8a73hhYW7gFuJ3geAJauNH5YhkH3sMJuVQxNNwThh429NgsCKd9VrP7/wgMz0N3Ula84Qfar+jwhZbxswhpvUieFX/QEq9Kcxc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This removes the explicit NULL checks, and allows us to stop storing at least some of the _offset values separately. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 77 ++++++++++------------- 1 file changed, 33 insertions(+), 44 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 6446f2e562c9..bbcdb77be9a8 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -1921,50 +1921,39 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth) ugeth->uccf = NULL; } - if (ugeth->p_thread_data_tx) { - qe_muram_free(ugeth->thread_dat_tx_offset); - ugeth->p_thread_data_tx = NULL; - } - if (ugeth->p_thread_data_rx) { - qe_muram_free(ugeth->thread_dat_rx_offset); - ugeth->p_thread_data_rx = NULL; - } - if (ugeth->p_exf_glbl_param) { - qe_muram_free(ugeth->exf_glbl_param_offset); - ugeth->p_exf_glbl_param = NULL; - } - if (ugeth->p_rx_glbl_pram) { - qe_muram_free(ugeth->rx_glbl_pram_offset); - ugeth->p_rx_glbl_pram = NULL; - } - if (ugeth->p_tx_glbl_pram) { - qe_muram_free(ugeth->tx_glbl_pram_offset); - ugeth->p_tx_glbl_pram = NULL; - } - if (ugeth->p_send_q_mem_reg) { - qe_muram_free(ugeth->send_q_mem_reg_offset); - ugeth->p_send_q_mem_reg = NULL; - } - if (ugeth->p_scheduler) { - qe_muram_free(ugeth->scheduler_offset); - ugeth->p_scheduler = NULL; - } - if (ugeth->p_tx_fw_statistics_pram) { - qe_muram_free(ugeth->tx_fw_statistics_pram_offset); - ugeth->p_tx_fw_statistics_pram = NULL; - } - if (ugeth->p_rx_fw_statistics_pram) { - qe_muram_free(ugeth->rx_fw_statistics_pram_offset); - ugeth->p_rx_fw_statistics_pram = NULL; - } - if (ugeth->p_rx_irq_coalescing_tbl) { - qe_muram_free(ugeth->rx_irq_coalescing_tbl_offset); - ugeth->p_rx_irq_coalescing_tbl = NULL; - } - if (ugeth->p_rx_bd_qs_tbl) { - qe_muram_free(ugeth->rx_bd_qs_tbl_offset); - ugeth->p_rx_bd_qs_tbl = NULL; - } + qe_muram_free_addr(ugeth->p_thread_data_tx); + ugeth->p_thread_data_tx = NULL; + + qe_muram_free_addr(ugeth->p_thread_data_rx); + ugeth->p_thread_data_rx = NULL; + + qe_muram_free_addr(ugeth->p_exf_glbl_param); + ugeth->p_exf_glbl_param = NULL; + + qe_muram_free_addr(ugeth->p_rx_glbl_pram); + ugeth->p_rx_glbl_pram = NULL; + + qe_muram_free_addr(ugeth->p_tx_glbl_pram); + ugeth->p_tx_glbl_pram = NULL; + + qe_muram_free_addr(ugeth->p_send_q_mem_reg); + ugeth->p_send_q_mem_reg = NULL; + + qe_muram_free_addr(ugeth->p_scheduler); + ugeth->p_scheduler = NULL; + + qe_muram_free_addr(ugeth->p_tx_fw_statistics_pram); + ugeth->p_tx_fw_statistics_pram = NULL; + + qe_muram_free_addr(ugeth->p_rx_fw_statistics_pram); + ugeth->p_rx_fw_statistics_pram = NULL; + + qe_muram_free_addr(ugeth->p_rx_irq_coalescing_tbl); + ugeth->p_rx_irq_coalescing_tbl = NULL; + + qe_muram_free_addr(ugeth->p_rx_bd_qs_tbl); + ugeth->p_rx_bd_qs_tbl = NULL; + if (ugeth->p_init_enet_param_shadow) { return_init_enet_entries(ugeth, &(ugeth->p_init_enet_param_shadow-> From patchwork Sat Dec 5 19:17:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411586 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=hbutE9c1; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKCR6SKWz9sW8 for ; Sun, 6 Dec 2020 06:20:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727012AbgLETT4 (ORCPT ); Sat, 5 Dec 2020 14:19:56 -0500 Received: from mail-am6eur05on2131.outbound.protection.outlook.com ([40.107.22.131]:50144 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726844AbgLETTm (ORCPT ); Sat, 5 Dec 2020 14:19:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DCwVAZpH8c9/3XcXK/MOExudjPWaIVua3NSc4pIkREdJh+vcepCIOf0XD8ITm9/AjbaPwjlVYUB//S1uuePOihJu0fzPtP7fP9rcQd5QI6rXWmFznTrz7BhgwKoqiwdQVlaZWn9Lvi63snc5/feK4mozPW68QWfC1fSW45a3bYWzdZNh+ONho4lio8GyjvGvsdiwHU/bRtmxW7Oq0mvLRTv8eby2pLCM2Ugs2nHR5k3qYndoLevm5i/ZwpVV/Mz5Ta9FNZqKwl+QpFCCVCnGZqlJ/uqVEVbtPmOiCmnSiThCguJ/A1oBhSmVY3157p7UhrUBBgvNOCYyNN1q6DGZvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vs6Iobd6zG0ese85pCR5UGUVx2YUPlvL4Jf5TP29EBw=; b=kjKHD8kvG/Tjm+6P+WFqB220LQZOsHByLb5Upqu4StJiykFz0d5VKjJuzhruJc+OA1+qVMNupemnd6tKrC+YUQzuX+p2Nqond8HQFbaYkV7YKPUgTxLHSuPLqjc74bpUAMakFc9Gxf9xWEY6RiUHa67bD+xtnziJwiCO2dek3WFvxyqipHFIH3MHKq52CT+lFbza8XXIWSasKOqRcD0QyKUR0XXZu1p3VGaA2+3VzHkauoHlpnJMn+EmVA/s5QY1MD+S6J0+lZYpcnaikM+A10lOHI8DrayEmKp4DlGmdPmVOeuiaaGQpdr6orFKB6/4iJpDI8y5nbqhA2nRgaZVrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vs6Iobd6zG0ese85pCR5UGUVx2YUPlvL4Jf5TP29EBw=; b=hbutE9c11u9wBeLYp8HAc7Tyoh3UXuIogd8nfI2cwsBtHPlc7KfwL0SeHg4kgYGAQOFIympJoXSAH4N/KGwfJFu3jb2wC5aDyhbX5gaNxfppe6bivGUKUeGp5LhmIhNtAbbF2hohvg0P8pK9hoPt72Pz/rbVnllocjZb89pX8Es= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:23 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:23 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/20] ethernet: ucc_geth: remove unnecessary memset_io() calls Date: Sat, 5 Dec 2020 20:17:31 +0100 Message-Id: <20201205191744.7847-9-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:23 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 19777769-7581-40f2-d1f2-08d8995288f2 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2958; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vsUegi6BdTlfiZSfzJt+Hru0EZuUb9OapjgzK9K7AG+gXUswqPrqYq3yHrxYTHZqPT/CcDtjiBO70NsEl54hdd+nUeh353H1Puu4jPAnHfz9un9rOSgTwNydv+rYKRtqC5iAxu1iyQb41572ItyT/8lSHsHm3LJEW9LNDzR50XYbalGfYL+66X7IDTcbDaRY1EBJMI2SZkvWYyLEAET2qA05iN63Tx9rqfn3YhqqtaYnxR5ezRYjIUkVdgChmDg/x3XSN63/PoKj5O8scQXVyYkTS00rIB0pc4us3gVNk+83Bf1+bJ6yzQ1Y2KSF3dNbWnIKdX+nncBhav6kKDNgtA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: FPoZ/Ctj+WFdrP2iLkP/b3CPFTbcV9ye8UKyXjaWXsgRXSHmuG0a1LTKWALPEL2VXo842Z5dl8IONKwTguhPWspKWdcH61zNRzpQfBdlfnUox0ZYoIsF50JbC9oFlYAcWH8Se6opS90O445kPzVF8WIEgAR5a3iqfHLK6lM9lgH6loxErxmbLy9x0CpVGP/+yfUKDxHaKvXxEuEjWq82qFJfgvoRQllMNV19s14eh+ezXh+fvPTn/iMyNBGeEp+6Ts4Iv72yvh4ZmTj6TSLEeFUvQPpMpYOAEx506V+/+zE9her8AC3VdMQhkEJa4FHRnvKfGtRP06s86LtWt1YEFW0OBaKrfBybMhw7ehh59Y7WoiVxMFb+4bf2AH37aamRibVFPAhQ55WAhiq6BwnfJ4pv4q8DPW+Tx+uUjICLiyg7Ask/IcB3Ml4+/L6mQLHC8lTULvGzhyc3cLOKP0kREvhNGf5YbjSBLrEJks2od8djDHhBjYoxR41kFuBUaW3QyuHUA4Eov7KDMH3isc/TQ6u9qAcI69yPoVRhE65TPjfwmsm8JE6Vh/NbNPqhEljcimEZnIf0p0t85K/9fdGHg2Z+hwJK7mgtTg7CuzgReJebgkLM5EI36Eh6OkpeOZjaqbuhK+4uO4XoDo32Ex14K2CrQo/mR2Oo1sl8Jv2xU+b0rGgkOpZwqVei+/pzZVezFA+6jX4gFUaP+WPfGnwJ8H/IK4QZjVFTqSu+bYJhLMR0Ts3i3KaE4B233bD2ickiccCeHDNSebgNq3+YbvyH4XetsuJm7g9zjtwzaHbfH47NMR1pWiPgC6+2MzHz1l+yUxKFCsiGwIoUZUPr68JIWivMWI48ZtNWNXX0oLO9oHN5elyn0s0p5XjAF2ZTvxvjTYZuGYu7ukvgQcxboJfxt7ppHueB5FP09FLUSSVdc7vp3fJt2fBjvLPopgAj+1fk/tX+V+r/5z9yKuMBkbi8JYxU0Lu5BoLPxhBiJUgyKqvFAv1vE3yApCXRxmg16yBr X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 19777769-7581-40f2-d1f2-08d8995288f2 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:23.8087 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T81CapYUjLLSCJ1lDzBgzk3hWHk1/abf+erAT5jeuj4mrH5knuagDoodTN9ytoTrBwHttwKzGGJEE7yzovO96AL9mXAGSiRw+bmYDZYFuo8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org These buffers have all just been handed out from qe_muram_alloc(), aka cpm_muram_alloc(), and the helper cpm_muram_alloc_common() already does memset_io(cpm_muram_addr(start), 0, size); Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index bbcdb77be9a8..f854ff90f238 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2506,9 +2506,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ugeth->p_tx_glbl_pram = (struct ucc_geth_tx_global_pram __iomem *) qe_muram_addr(ugeth-> tx_glbl_pram_offset); - /* Zero out p_tx_glbl_pram */ - memset_io((void __iomem *)ugeth->p_tx_glbl_pram, 0, sizeof(struct ucc_geth_tx_global_pram)); - /* Fill global PRAM */ /* TQPTR */ @@ -2596,8 +2593,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) scheduler_offset); out_be32(&ugeth->p_tx_glbl_pram->schedulerbasepointer, ugeth->scheduler_offset); - /* Zero out p_scheduler */ - memset_io((void __iomem *)ugeth->p_scheduler, 0, sizeof(struct ucc_geth_scheduler)); /* Set values in scheduler */ out_be32(&ugeth->p_scheduler->mblinterval, @@ -2640,9 +2635,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ugeth->p_tx_fw_statistics_pram = (struct ucc_geth_tx_firmware_statistics_pram __iomem *) qe_muram_addr(ugeth->tx_fw_statistics_pram_offset); - /* Zero out p_tx_fw_statistics_pram */ - memset_io((void __iomem *)ugeth->p_tx_fw_statistics_pram, - 0, sizeof(struct ucc_geth_tx_firmware_statistics_pram)); } /* temoder */ @@ -2675,9 +2667,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ugeth->p_rx_glbl_pram = (struct ucc_geth_rx_global_pram __iomem *) qe_muram_addr(ugeth-> rx_glbl_pram_offset); - /* Zero out p_rx_glbl_pram */ - memset_io((void __iomem *)ugeth->p_rx_glbl_pram, 0, sizeof(struct ucc_geth_rx_global_pram)); - /* Fill global PRAM */ /* RQPTR */ @@ -2715,9 +2704,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ugeth->p_rx_fw_statistics_pram = (struct ucc_geth_rx_firmware_statistics_pram __iomem *) qe_muram_addr(ugeth->rx_fw_statistics_pram_offset); - /* Zero out p_rx_fw_statistics_pram */ - memset_io((void __iomem *)ugeth->p_rx_fw_statistics_pram, 0, - sizeof(struct ucc_geth_rx_firmware_statistics_pram)); } /* intCoalescingPtr */ @@ -2803,11 +2789,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) (struct ucc_geth_rx_bd_queues_entry __iomem *) qe_muram_addr(ugeth-> rx_bd_qs_tbl_offset); out_be32(&ugeth->p_rx_glbl_pram->rbdqptr, ugeth->rx_bd_qs_tbl_offset); - /* Zero out p_rx_bd_qs_tbl */ - memset_io((void __iomem *)ugeth->p_rx_bd_qs_tbl, - 0, - ug_info->numQueuesRx * (sizeof(struct ucc_geth_rx_bd_queues_entry) + - sizeof(struct ucc_geth_rx_prefetched_bds))); /* Setup the table */ /* Assume BD rings are already established */ From patchwork Sat Dec 5 19:17:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411600 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=fTPMG4+d; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKG75735z9sWR for ; Sun, 6 Dec 2020 06:22:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726646AbgLETTz (ORCPT ); Sat, 5 Dec 2020 14:19:55 -0500 Received: from mail-am6eur05on2114.outbound.protection.outlook.com ([40.107.22.114]:33377 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726851AbgLETTr (ORCPT ); Sat, 5 Dec 2020 14:19:47 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R0PWGthhQQVdlqnITrAuKqdmL4qhKy+o945wIpL9LMcq5D8GO7V2W/fFYZpPKUjBl3mQGRz2hEqvR95JDZMqDnw3pHzTF//OynCeDna2t9PbFhcKEfTJtCxAvnHygrfv3a6/sP7CtTVfPGa+ZnlniDLdKIVS6cdB5mnolEu57tVYseUfXCiqBvueVAHYF9uCuD5QWDY5XRqE8ZnX9rrsTnN4TpQtKBcry6mJYFqsi1gn51ICQu3eLfXwQ72KR74pOXkH/UKh+CT5Xqvz0jtOUrQtnf4OfdGbrAw4og/1Xtn9ap2FNr8w5/gD0ELj0anlYQnH2Ud8QxeIprZhSf7c5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TYFfpagrFo/3cBGI3QDe1Efu6Hiw+YatR+iw/NjqYrc=; b=DV0PBbN1vx1PE//8C6uYh0g6h2I7CzNTt9QzV1xoAQsvgf29C0QJ23ze27LWfM3vGL8GMHyaJHUkzO9IrZEv9SIEJg/5cGwivS8yBhPGpYozgEFB3fiFMs8l6Gr+35suao7AHjRAkK58TEbbdq5o6OS9NuUG0u2LRqcFIjOSASiCOsxwhKLnymfV1mVJMraKUh/B9fUyJUHSAtVErz8tELB64cUJkMaeCXbTnAX5M2+agviPh50IkIEMGtcOohDLuShXtl26wu2d0faB+YEpfqmVf9YmaJZ5jWbdGE9/H4mG2Kxbq6M46fP7m5zfvHcYrZjo2U6YgTJyUwHjYr7aTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TYFfpagrFo/3cBGI3QDe1Efu6Hiw+YatR+iw/NjqYrc=; b=fTPMG4+dk6c62UAdDzkd2yK3XyIGQWPYeXnwvOCFRq9RzzRpnS3yqwiuPPqwzJB6QhoU9Dhayr1KUGcwlgeGYM18YcCadZFC+L3KcE+x7gcD4ORske8ZDXBMc6oK5s60EOF6Th23whifQADj88nWeVmH2byvOiP/BlM9avOBabA= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:24 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:24 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/20] ethernet: ucc_geth: replace kmalloc+memset by kzalloc Date: Sat, 5 Dec 2020 20:17:32 +0100 Message-Id: <20201205191744.7847-10-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8eb9e5d-1eb7-4e3e-fda6-08d89952896a X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uQMUOoU9SJM0IqdSO7mlC9BVYN05P8g+4Z0Vknk0A0CU2o2HDbKIKE7Lf7vCVVr6VBVhTilOEXwP9eyGYMFacvOuvRlqrqlXHa0dXlsGR5O7JdI4mRvGh8O3RGPwixJQYWUmbK+3gMCZRskcHja449MoSTJpTi2JLEbiFolvbmwcaKoFIP88CAO5QhHa+Yw4Kv0+EgtdPLnZf3Vo9F5aFNg87FMsDVe7ASoCMe7yctnAx//OwleyUyxqAF+xzvldNdMl6XpOVxwphko72V0bTbdZIqUTEO1S8O3mFd9m8aIkVfWBJWOKWLL+DSf6CeQaiNtUQ7Qlo3EVSATDIEiUxA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: qPtm+IqXx4ui3/UlMDguk7II1fqStCpXLgK9xtkvXJXlTIERnVvQZX4AbPNyvHyhIwdlmJ6d7ARmP02/yPvRW/cwAb/fEPxhvMkEClK0Y8tRv83S67lS5agvA7kzgL+FbbhkoxOvToF6QEEwhzZ2cyUOuooQqwYINmUfUKPHPUd13cHY8KUjCCn+TgKbSsPC5o7LYGvIklX/NkfrWPAtbKeNGcP48dKKOdfN10Y1JVG3I4slyPBTd/n3Vjzt0RHQWyuRPhZ4Np+8ldW2aXe0UAKIngQdD/YVVTGC0Qkw+sd/g5fyTkPJpaSFVhaGxAp25/GgMuJ4NCX1erYIacRQ5jHr217dQquQTkdw+A9/UJYp8i/xmCbPQ373DpLae0+5s3EbURM5BsctYv2fcFoCxPpbgxKOm1eCDCRa5D6nE9KMx2wpzrhxRm1IrcPjmFpNzP5Bmw4BnklBlhCjANPFgscJKXeBJrX/H8uKNnw0BdtDvh5zYNO4gIcUnb7AYGkSrIrYxLER+8j6u1v7GZ1ggBmP0vnYt6dONX+9nxx7xKe2QLR75zoByv0Xv6fOWJA7jZuQf6I7dmIOgqyyhIV7hBl8HxkqvqM1S9lJsaY7cZNeKd9dvMoMwtbhHVRqnwA0VcqwL07rBX6bTekL9tLqMoHswlX4ozVzEDAoMYZcJX0n1jnE5NTkrzp/h4CnQZXzWJIDChG6pwfDu42ST23jWmQZRqYO9D9CPdSOFdglNYk+572rxXJCpy93NaBfH2/P1cgny7Dv+HT/WHpUxMu+k3NzgiBfN7TgnyUFAShM4ydxP0AkOopjQxI0fdvZDt2wvw6ykrBUiDCUIoByuFdRh1lxSpOw+NGq7FQu4OuC5W/X/X9t3VvmFT9Pf0rUYr7hAXkTvHPSam49kya3VNLudW23cna5UVEn6ZvV+ElIvMJhtvmfEhlSKSuHWVUtwSyImZz3uSDmfe2ehR5al708xf3U94Bt12n7aimIBuGnwFztpkYVZsi4OAmVoi8mXD8f X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: b8eb9e5d-1eb7-4e3e-fda6-08d89952896a X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:24.5722 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yOtpDe/fYi0sNICrK0V+8snnicfIQoEhuXfyyKp9ef+6TZaFTMPO3t/4ms1QyxksO1dZk0qcTdkP/KSRYdC2BRARdjr1U1adyxJXmfXkszY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index f854ff90f238..e1574c14b7e5 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2904,14 +2904,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) * allocated resources can be released when the channel is freed. */ if (!(ugeth->p_init_enet_param_shadow = - kmalloc(sizeof(struct ucc_geth_init_pram), GFP_KERNEL))) { + kzalloc(sizeof(struct ucc_geth_init_pram), GFP_KERNEL))) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate memory for p_UccInitEnetParamShadows\n"); return -ENOMEM; } - /* Zero out *p_init_enet_param_shadow */ - memset((char *)ugeth->p_init_enet_param_shadow, - 0, sizeof(struct ucc_geth_init_pram)); /* Fill shadow InitEnet command parameter structure */ From patchwork Sat Dec 5 19:17:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411588 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=dRAFbCmF; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDY1LBlz9sWV for ; Sun, 6 Dec 2020 06:21:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727425AbgLETU0 (ORCPT ); Sat, 5 Dec 2020 14:20:26 -0500 Received: from mail-am6eur05on2101.outbound.protection.outlook.com ([40.107.22.101]:29825 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725923AbgLETUL (ORCPT ); Sat, 5 Dec 2020 14:20:11 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n6nesnBf+TsP/CLo2skr20/t55zRtD5RRtehK1nClyLXCWyP3uPglb7cjO6v/poXUqNdwN2M/XVrNPfn6LMfbhbGRignJUbkVSOIDgf2J3qFueQqmPgqNJC3vnp9B+nVTiHtp9FpIh1JS9tEok1p1m1WsetK/ixrmyhOBvwT+R5eX6Z4bDAiatzCvgHP51K94ALuHPVKlP4gPO/xRBZsooCBZDU2Rd5HjQv7u2Y3qgcWb69ZUjg8Z2L7+FsY4/aEPdxmuFsqsVj09KG9WDyiWNCq0F2korZE0quoflL/MAt8pdeDLmMzzz2gPs2GDpn+CsL5WCsShKeq/PEeoal/zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tqDmudZI8cCvX9sVGlUWP2+66rOjDwmqtiVJn2rC1Hs=; b=C37joQnzhWCZkwZM2IQfgFoG+RVuIyc22PFc6eHqjdGym2hZfBC9+s+1VrdWAP8j16scvlOLc70VwyyScU/iWctSsCoNbpEE9y2Rk8K+RqASeAvVk1n8jRp18oROoI5V9b9zlsr1hWUok0RlctHe45kjOPe3tv0oPsPLJG3nbpzHhlFwWEDlXXGa4plsFP3lp9USa3cbPpGa5mF4ntBI6iGY9PgKSTReayNL72oKg3UZr2yHoj3oiV+uHmiCIHk0kYC+WSZmBcX+8AhfuhFoU209fYXtzXM9mnEvtngUcAUTnKXWZs8VrEMnZKVAAsNZi3ZekhGva0R8OKrdRvHKWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tqDmudZI8cCvX9sVGlUWP2+66rOjDwmqtiVJn2rC1Hs=; b=dRAFbCmFy5A+DWlrwPL3AI7d+N3SMc1KCW+MDuJVZufm/xIrfOjIFJXD3SLyCEL/0g/KNYA/VAkRv1pJ2kxcgC3QETtgYGQJRTtml9philMmuUKoTQa8m1026tICx2oxYLW5CJhINFjCrxI0SUv46+hFTF3k6lfdne12PBN/iwM= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:25 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:25 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/20] ethernet: ucc_geth: remove {rx,tx}_glbl_pram_offset from struct ucc_geth_private Date: Sat, 5 Dec 2020 20:17:33 +0100 Message-Id: <20201205191744.7847-11-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83976c98-6732-4d67-1b52-08d8995289f2 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:449; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HCSvGooze2if/M5UctcnzBFutXb9lHYDe5hJtdCDnwz17PfuHiQPKPsBV44CJtZj5adLZYOExtM08ZuairlzVpsdbStyhqciRlJibR7bDbRqEQwTFVKSCj/LovCaQZ5ZcB4WhVW6RUP6qK0F9/LCAgPufE+5Vt72JiSlocLv2Dh/BkzUzVTnu1ac1uoQDCebqWCxnaMLgMWFJ6hZeJBj6xrycWjXtlSD8u990BYJdeOujoPuPpiWv1lYk36QRyKdPox9qgJrap0UEbi9c5E21Dep13rXSScz6MNWUdBmsvQ5t5mRm3i5FABJhjW4yXfbKaVszFigscTrz2X4oHomlA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: EWXewEIa/DMZOF32u8ZaqSJClcDu7AfGv/YQkMMyOO07qEhO3D/Ti4ih1PQwDuA06VyIwH0Kn+OjRunWKhQ3kr8/fe5x4tF3QdSJHZqAloqvBtN4mmTjyfKWkn4SfPODWtE2VlA2dEtA/Q/Omo9t99l+juGb4txJwzOyodcG1j4VPiMsbJjmzb7C6ZogveybNvBSugNqFm3+Jn2cWkaq/jo4Jyl6MnlkEAXn/ovR5XTlQI1uZm3/3aoIhJkw1PWziAgASLLdu7EZ92C+saU/LnQcb++jseG5P3IssY/aEcPB7OVZO7DgJy4RZ0b1UEzamzkEFHi9zmuiM3ZJlPMWBv5dkCoyBZY/T29gAw9qr8tE8Sv6WwpNOCuKpAJMIN+clRUyonCCav0agWcwoGZIw5JaJYxU+LWBm2pzPuuQZT8xz6tRqRdFNPIp/KF09evXykg+fGZFz9HTn5g1PxUKcnk6ZBF0N2OWi6JcW7P1KSpJTZGuzZRX8/cz44onnIDa2OOQO4zgftDCUrKBzmSVL18sleiwDwExTYlpolcqabVslGso8BFfTkUck/gJ6S2TawK74xeKF/rMQuMsQx6TaK6KiTTo1fXJ5O4Plpg+t6TfBCdF2Ee0AVZRiM9i0pGVCZDNjOmN2U/EoH2NBDeWx7YDDZt+ffrVbbH648z2DGpFRb02k33IzxZet6ioBSI17QMmcU5RyK1TKqpwDXsTWFyZLGUvdS62RA/yZtpRPj82/KLWWpaiRIkGQTXKHVMR9Zb4TnLY6su/JePZfPpvGBCRXEyI6pMQhJeJoHX5gb1VwvbGpZjtBoHzux9HMzxDpl/7hByUhRE24qSy44ceqZAACF7W6zmvRR2UDFTOD4MBRARL3lfVdWcdutlmWZnfIXHAg7oM/TuaRFKozXRUEf+ku7TY3DVeo73yLp6cKWTivQcs012cLKuWXf3a+hh+8JbJFAAL79nRZ6TpuyGBoqoVML03wXufXdAvuCPudv1RmvRs8Fr7erkWIQGMuO2Q X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 83976c98-6732-4d67-1b52-08d8995289f2 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:25.4757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LNWJzObnucmdRKfThmms9TqvUceSxvNg6riTFr+tC3N5o9QamItjlm7QIdhjpjZCxvOpeFO5WqQTTZt+bTo4g4CCa5+Jht17bfayT2G5jLw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org These fields are only used within ucc_geth_startup(), so they might as well be local variables in that function rather than being stashed in struct ucc_geth_private. Aside from making that struct a tiny bit smaller, it also shortens some lines (getting rid of pointless casts while here), and fixes the problems with using IS_ERR_VALUE() on a u32 as explained in commit 800cd6fb76f0 ("soc: fsl: qe: change return type of cpm_muram_alloc() to s32"). Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 21 +++++++++------------ drivers/net/ethernet/freescale/ucc_geth.h | 2 -- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index e1574c14b7e5..b132fcfc7c17 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2351,6 +2351,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) u8 function_code = 0; u8 __iomem *endOfRing; u8 numThreadsRxNumerical, numThreadsTxNumerical; + s32 rx_glbl_pram_offset, tx_glbl_pram_offset; ugeth_vdbg("%s: IN", __func__); uccf = ugeth->uccf; @@ -2495,17 +2496,15 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) */ /* Tx global PRAM */ /* Allocate global tx parameter RAM page */ - ugeth->tx_glbl_pram_offset = + tx_glbl_pram_offset = qe_muram_alloc(sizeof(struct ucc_geth_tx_global_pram), UCC_GETH_TX_GLOBAL_PRAM_ALIGNMENT); - if (IS_ERR_VALUE(ugeth->tx_glbl_pram_offset)) { + if (tx_glbl_pram_offset < 0) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate DPRAM memory for p_tx_glbl_pram\n"); return -ENOMEM; } - ugeth->p_tx_glbl_pram = - (struct ucc_geth_tx_global_pram __iomem *) qe_muram_addr(ugeth-> - tx_glbl_pram_offset); + ugeth->p_tx_glbl_pram = qe_muram_addr(tx_glbl_pram_offset); /* Fill global PRAM */ /* TQPTR */ @@ -2656,17 +2655,15 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Rx global PRAM */ /* Allocate global rx parameter RAM page */ - ugeth->rx_glbl_pram_offset = + rx_glbl_pram_offset = qe_muram_alloc(sizeof(struct ucc_geth_rx_global_pram), UCC_GETH_RX_GLOBAL_PRAM_ALIGNMENT); - if (IS_ERR_VALUE(ugeth->rx_glbl_pram_offset)) { + if (rx_glbl_pram_offset < 0) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate DPRAM memory for p_rx_glbl_pram\n"); return -ENOMEM; } - ugeth->p_rx_glbl_pram = - (struct ucc_geth_rx_global_pram __iomem *) qe_muram_addr(ugeth-> - rx_glbl_pram_offset); + ugeth->p_rx_glbl_pram = qe_muram_addr(rx_glbl_pram_offset); /* Fill global PRAM */ /* RQPTR */ @@ -2928,7 +2925,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ((u32) ug_info->numThreadsTx) << ENET_INIT_PARAM_TGF_SHIFT; ugeth->p_init_enet_param_shadow->rgftgfrxglobal |= - ugeth->rx_glbl_pram_offset | ug_info->riscRx; + rx_glbl_pram_offset | ug_info->riscRx; if ((ug_info->largestexternallookupkeysize != QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_NONE) && (ug_info->largestexternallookupkeysize != @@ -2966,7 +2963,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) } ugeth->p_init_enet_param_shadow->txglobal = - ugeth->tx_glbl_pram_offset | ug_info->riscTx; + tx_glbl_pram_offset | ug_info->riscTx; if ((ret_val = fill_init_enet_entries(ugeth, &(ugeth->p_init_enet_param_shadow-> diff --git a/drivers/net/ethernet/freescale/ucc_geth.h b/drivers/net/ethernet/freescale/ucc_geth.h index c80bed2c995c..be47fa8ced15 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.h +++ b/drivers/net/ethernet/freescale/ucc_geth.h @@ -1166,9 +1166,7 @@ struct ucc_geth_private { struct ucc_geth_exf_global_pram __iomem *p_exf_glbl_param; u32 exf_glbl_param_offset; struct ucc_geth_rx_global_pram __iomem *p_rx_glbl_pram; - u32 rx_glbl_pram_offset; struct ucc_geth_tx_global_pram __iomem *p_tx_glbl_pram; - u32 tx_glbl_pram_offset; struct ucc_geth_send_queue_mem_region __iomem *p_send_q_mem_reg; u32 send_q_mem_reg_offset; struct ucc_geth_thread_data_tx __iomem *p_thread_data_tx; From patchwork Sat Dec 5 19:17:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411589 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=ikZ2/JEa; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDb3mgSz9sWL for ; Sun, 6 Dec 2020 06:21:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727363AbgLETUX (ORCPT ); Sat, 5 Dec 2020 14:20:23 -0500 Received: from mail-am6eur05on2119.outbound.protection.outlook.com ([40.107.22.119]:7011 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727223AbgLETUL (ORCPT ); Sat, 5 Dec 2020 14:20:11 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bVS1023gQ0dFhaMYIHFWk5R78t+ilfCVU0OqTlUfw1yS7Ssil0iFKyOIN4rUlbgiTdkCnWT+ixjB+JNma6KtGgm5dEft6Kf4uLi9Iyt3ewvcsf7GDLUNltV2BSApi3fxSwA+d62ZCmBNDA1rq0lxvAIvFoO5KUUenMiLfqjyikOCKFM+9c+myb5w/klGdhjUDaxcMjJAj2xGQ7Qzr05djYj7kyeGgasoi0dyXTyUXG8XMJN2BO9lxkws2chMKBqfatpmXXhjcMgN1waLixs21Auj6ShGs7bnpZSC/zVJVayhaJZKZ+6xJd34KGBCOK978sSAKyjNxADyvfK3Nf0SXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5zKBHs8LCaE1OWo6oLZhEwPWsaWUQu0HqN4yiGP2cbA=; b=NDxz54P3k7XgpA1ntZYz7NllFLyew/4HQ7yOscG8eoR6SzBWqKcaizbyiouHsacvxeEz3c12oc79XkroNlS5SgCczWo316FaY1m51HOLMB3nXE5xkO11pLWg0tmKGiv4zGULrvn8JlaF3yNAFBjmpit8VETvmehyR7mZw+QqMI86AC/aCSW+rs0cXVTJiwznpr8v5guhLjD2nqWVgdiNN0Dq7BsyqpYG4A4p3LkpuX7qbEU0p7WrcbjRkZsjjNC6nx/DX2B6vi4L+XFT4DnKUkcZDvbuv6agbfM9QYGCvAzbq6P0vV5hPM/AryB53toxM8V6JLceNJMjBCx9gh8/Nw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5zKBHs8LCaE1OWo6oLZhEwPWsaWUQu0HqN4yiGP2cbA=; b=ikZ2/JEaqHPLuw5whrOoVJQfV/pv7MtZTYlVMZQWvdwbXYk1PyguZCjA1eNmHbVhDdedF07qYUAVdafeafo5szUqQGeyZiIGGIbW7u1nceFxysNAZjjPZDTsUd/Tzsrsf5BGSX6YrN0YyYinV2fkKQXOCsb6UfvXJjJ0Ak9H65I= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:26 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:26 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/20] ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() Date: Sat, 5 Dec 2020 20:17:34 +0100 Message-Id: <20201205191744.7847-12-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5c1827fa-d0a0-4c3b-e84d-08d899528a5f X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2150; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lcFWVYt250Oxn3E+1pY7hfTuMNxjU2G8wwQ7qhqCdy/uGGzADVFbw2b2WLhaX+L6GPw8glpERLHWcGx77Kd5gUkvdUfdzuwphcdI1avQukB22U4A6O5YoV6Psffz4sLTuf8yfY86KeBqu2p/luE2I6Bt33zB4moCNSETIL9Ag3GCI6QMMtKq7AWXD/xTL3Y1OvtatjhA55zVSj1Hj8VuL47ih68xsZBQnSMVO1Gesfv9RrTyyzaCzHHe7Rr1d193N0ttQOK3HB1FsTkPNziaOCLC1v0kTsqEs+yHBXDxmMJJ9e7aHfa6sOjYyY7CdeojotPq9uo2dtYdayxtUgMngA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: zq5B/zpr510dEv3tvndqlUb/2jGJPB0HeuAg16cIc02le5QLcRxsKccmwS+fRoz7Oni0jhwzbhegHxg9r8Y7HzAQ9I0fET7hDfR0/BlA8pcEDwACTYUB6adg6D5lNVi46uUH2gpG3SmJfjywjSF+o4albNRDBmib1zsIiNzs/qN5agrKTKetfK6uJCRoWLhhu3s6G7nureWTSXaEZ2HIjZVD1NF+KZzc8BKFoY/GjE0RfutWWUCoISF7USO9h4cU22Vj0Y8GMRaP5t+QqmBulf8ebMb7ZMntP6OyRgDo9qAH8Nrlo+Xf+Ozrsx9bZp3dAuN+FH0xW/95ycQkNMhhESGXq/m0g30ebgqTk8KNDFf9qp4xXup7bVijqBJ1Anx7Gn0LVk50av80qnTSWZRZBLvcVPCbeZPpFKefoE7qt9gJqCOkD6xC0koxjnqlIzH6p1FkU+RpWxOmYbYTADN7O269BrBm6yrLbBTfXuElFRtHMc/a0v3Mx6YFrQXFbz55GkW/g0zdYrNfAUu/kdTJrmEFFtU1stxNRRcgoiBFZYqzNFZVirINcPd1ie1OZYwf76Cth9rFrBpoQjV9G3cuJyD2TOz6LQTciO1gr8A+Of0ZYOJLrh3sARwDD5qjOhL4NW2bNsI2wbKQoxM28AmEMj7erk9kELPFrWhcoBKlkL7sNZkMzXywPGJny7P7MHVWAhiEs4VyiqDln1FyDPRRRjfljCwD9H0dwyfRt/TJS25wLfmThP/S/39kwO8bs/++ihQiZ0uNQ78Zi4xOTk6e64Lfxg2+OEBaiEjr/iBa3zzKGKn+FfzxS5n4QXQaop/DTzJGzhW7x8Iaf9+UuLrHYDfEwOIm+3+r+eYbCktqnr9hj8cAVc8ksit8XsiJ4aOZdnaFvKspONwPCJOvU45iefZteIMbZTAac70ifHsZ3nfn0+u7sa8MEJvWKE2Y5AEdoMQUzW+WZ7aUVX+vUnQw6T0Vq64riXbuyXbASxU4f8MQdBNXxS/fAkpoIeQiTJ1I X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 5c1827fa-d0a0-4c3b-e84d-08d899528a5f X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:26.2503 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: J0CwB1I+xbnFBcHKL1JlGloKN2nCVj/eKKIA1ONnowqDiufxgUmCGPsJBJmJtr3xjXhwrcQICMYzU9bmOzEonWJjYgc/0EndPPGV7IGV5eY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org ugeth is the netdiv_priv() part of the netdevice. Accessing the memory pointed to by ugeth (such as done by ucc_geth_memclean() and the two of_node_puts) after free_netdev() is thus use-after-free. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index b132fcfc7c17..ba911d05d36d 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -3895,13 +3895,13 @@ static int ucc_geth_remove(struct platform_device* ofdev) struct ucc_geth_private *ugeth = netdev_priv(dev); struct device_node *np = ofdev->dev.of_node; - unregister_netdev(dev); - free_netdev(dev); ucc_geth_memclean(ugeth); if (of_phy_is_fixed_link(np)) of_phy_deregister_fixed_link(np); of_node_put(ugeth->ug_info->tbi_node); of_node_put(ugeth->ug_info->phy_node); + unregister_netdev(dev); + free_netdev(dev); return 0; } From patchwork Sat Dec 5 19:17:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411590 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=lremdom1; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDd4NTjz9sWV for ; Sun, 6 Dec 2020 06:21:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727345AbgLETUV (ORCPT ); Sat, 5 Dec 2020 14:20:21 -0500 Received: from mail-am6eur05on2131.outbound.protection.outlook.com ([40.107.22.131]:50144 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727219AbgLETUP (ORCPT ); Sat, 5 Dec 2020 14:20:15 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dRekDYkgkWELwYlsYBVN0e6ydF8zRrPggj09g8v3qmkwkSi0FtofJiCDHm8eAFH8sFUSFwyA7VVa+5BfV1QJdCjceWq9hOasDE1SynI7MBdavyBK3rHOcAWJrsSGaMNDME6OD7sjk9I1gDT/TJZrHIUXD07EY3M8rVKykOJlQog9sM7ICC5zvQ+5RivXlbbq7BG4U0oNkSFXn3OxpoOwz/sDn0z0qjIJfwycYwd59iPf+lmu9HXtk0L2zY7jgXJMc5eXwqNqH+EhL8h0Y0UZkkZ5Zd++U424LgyxrmWQNmhqYlk9BWZjzGaiqX2Xi5ldR+UvRtzjDjSGln2WAncwKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0c6DCeQUPdcOmQBZd7+6P1NAsOpFKmL0m9kM3uKgNH0=; b=OxR49+evJq2/96kGMFDDsLzapvudNZ0DI4v9sl9lOs9NCu3KDkEmP6Iy8GWp0wnKbpl0fpm6jAlRJ90vLdSfbMLXU/AQZoJNix8C5xL3HORX0vPMH11RTEnt39D+MMu14gSq2gtKmz5g136KzirijNdd0tiznPqOqBqtBp8nidpvY/QT+JI39sH0DfFpLIr5h7O9mUpkqvZ3bo8YZTqGCtWVuz3JAoLkJveQqqUGmmlT9eUW+rgZpSImWqwNo25RDzzqBSaUn1c6fREjCHaPO2SWEe0Dxx4bqo9reFqEyaQFVmSDYnGb5ZnCirH9kB4HduOL0DLzS/x8aoezNTQekw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0c6DCeQUPdcOmQBZd7+6P1NAsOpFKmL0m9kM3uKgNH0=; b=lremdom1X7vaCPDVhAzjmzdiHRhIrQGA8M9hU4zxPyEWGm62cCNs64C4+pj27qw3n5CoEFvZpNryfttHojs4J++pYKKH/TaXcJLPToyh/9cB6Z7n55eQmCcVxnka43ABWgeubZpdt1O12284v4WPgBvtqQ529UlTAmHsymfdRbI= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:27 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:27 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 12/20] ethernet: ucc_geth: factor out parsing of {rx,tx}-clock{,-name} properties Date: Sat, 5 Dec 2020 20:17:35 +0100 Message-Id: <20201205191744.7847-13-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 44ad12ca-7f50-4a56-b187-08d899528b03 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:252; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sQP72cvjCOMc3uBqNMI4VWMZRRplBrWojh0dxhDH37Bc+sU35iUaQtyaVtPZvWeVLppIMseDvntuN9NHAoFP5RydyyCL6dNJrZY9jNv8lgpVlYzLxctCLKlDAf12vjTxoDet0avGcHsVEZHDGVxQ1ruuPZHUbeNRGZuqYStLVL/meWUqPv3t/jLqWLHm8GhtK0aC46I94lYauufnfRCnApWaFvJwYPj+JySav7jEUDC9iX8ou/ION+zjrDeC1mBpjvKWLKUGlql8scl0cBK2MufdQifYAMQxIMd2fksxcacUHMc0cHRaeZZ8fjhCShfHlrl3qMvInVgq8ZtL16BbIQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: DWzUu3isIR7e8wjRD9BNiEUNnyVBYvNAtD5eHTJyFCVE6xgND/7lWAAY1B2Qei1xa5IBeqnidQT5xBJO4/3NUzqry2W+ND8aqvpCfQxGkrarrf9g/h0dhosrVaQsTSHR939H13xDlYzeArJQgkt2x3zYozqj5xkXouwICtw1YI9pCittERVq4T0eXj5Qp+tVSUsO1lTMA6JyprXHeijQW4kKLYwRClcmH3wazR3FGwOa5J6bcSXJAEhAzGSXmrrpJf9V27N/Z7itR84XzH6y/AYnW6bMCOraMpH70uzHkdBntygfVr11LVSXj8/Yznhd36FioeRjI4e6qgh0bxIlbZFeth698OzFL92L/ChRZ7NepdmfUcMoPKhc4Fqa5gNwNuRLESbGbBOAlwU2zJv+Tnpq+TrHoE5gAKxQ2qx2Pn0k/AsbCqpQYTtL39Rc4+K7BrXF6gXHrT1Q7Apr8mzBdpj9haKzEosRCPnAaP6wzX1EfvSZJwEwrJ9dwzcFXzkhwRBCIef/iRTtqccRRrMEhCFJhkPsHIV2tOIvtdNu07eb0cK07gDvKViD9YMwsbzPuVUe+jhCZxxB+ZRtqdItngrDqCXCEBF/PUMuMVwo6YBgJX25NprhPow/UgAISDBT5p1YAa1hVkPtQuVDwGR+QdXPGPJXvVRJmIbNMnZVwEUnJ8+ov6Mx6gEaJ4Al0Z4I+Emwf6RYzNdMEGlRJEeR36Fvyro+NJBpPTP2XpsFt6iGhxgxNgxv3+huZ+yJYaEa7/sF/7D416xS2aru6lNZu7jr8JUzG8TBIJjJQoTw5J9z+dbFijxKJnChtgBTZmDJX9n8CclSxyDmZzBN9n7dYx45AaCz77hPO2hLRJZv1g8C+4IdCM7vSQFfb0Fkbtw61AHew6zrxPmCh8P/ayyycoRX6QVzGr8WI+AA5nM2goQY63RHI0eN31pie0RqHj6lsyzonBMY6llmPqu0hQXLSKWPUPV/SUc91FOM8/anDfH39DfYH6tEedUvtis4XgCJ X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 44ad12ca-7f50-4a56-b187-08d899528b03 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:27.3477 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1tpxAoA78+Ql9Z9DZgnWmXygF2aUZn5tlIeb2XQUi9B31pa76rW3eDNSgfosPucpol70g1rO1iBQxcctFm4w99GlALNxVFzszzPzEquk72s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Reduce the code duplication a bit by moving the parsing of rx-clock-name and the fallback handling to a helper function. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 79 ++++++++++------------- 1 file changed, 35 insertions(+), 44 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index ba911d05d36d..700eafef4921 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -3646,6 +3646,35 @@ static const struct net_device_ops ucc_geth_netdev_ops = { #endif }; +static int ucc_geth_parse_clock(struct device_node *np, const char *which, + enum qe_clock *out) +{ + const char *sprop; + char buf[24]; + + snprintf(buf, sizeof(buf), "%s-clock-name", which); + sprop = of_get_property(np, buf, NULL); + if (sprop) { + *out = qe_clock_source(sprop); + } else { + u32 val; + + snprintf(buf, sizeof(buf), "%s-clock", which); + if (of_property_read_u32(np, buf, &val)) { + /* If both *-clock-name and *-clock are missing, + we want to tell people to use *-clock-name. */ + pr_err("missing %s-name property\n", buf); + return -EINVAL; + } + *out = val; + } + if (*out < QE_CLK_NONE || *out > QE_CLK24) { + pr_err("invalid %s property\n", buf); + return -EINVAL; + } + return 0; +} + static int ucc_geth_probe(struct platform_device* ofdev) { struct device *device = &ofdev->dev; @@ -3656,7 +3685,6 @@ static int ucc_geth_probe(struct platform_device* ofdev) struct resource res; int err, ucc_num, max_speed = 0; const unsigned int *prop; - const char *sprop; const void *mac_addr; phy_interface_t phy_interface; static const int enet_to_speed[] = { @@ -3695,49 +3723,12 @@ static int ucc_geth_probe(struct platform_device* ofdev) ug_info->uf_info.ucc_num = ucc_num; - sprop = of_get_property(np, "rx-clock-name", NULL); - if (sprop) { - ug_info->uf_info.rx_clock = qe_clock_source(sprop); - if ((ug_info->uf_info.rx_clock < QE_CLK_NONE) || - (ug_info->uf_info.rx_clock > QE_CLK24)) { - pr_err("invalid rx-clock-name property\n"); - return -EINVAL; - } - } else { - prop = of_get_property(np, "rx-clock", NULL); - if (!prop) { - /* If both rx-clock-name and rx-clock are missing, - we want to tell people to use rx-clock-name. */ - pr_err("missing rx-clock-name property\n"); - return -EINVAL; - } - if ((*prop < QE_CLK_NONE) || (*prop > QE_CLK24)) { - pr_err("invalid rx-clock property\n"); - return -EINVAL; - } - ug_info->uf_info.rx_clock = *prop; - } - - sprop = of_get_property(np, "tx-clock-name", NULL); - if (sprop) { - ug_info->uf_info.tx_clock = qe_clock_source(sprop); - if ((ug_info->uf_info.tx_clock < QE_CLK_NONE) || - (ug_info->uf_info.tx_clock > QE_CLK24)) { - pr_err("invalid tx-clock-name property\n"); - return -EINVAL; - } - } else { - prop = of_get_property(np, "tx-clock", NULL); - if (!prop) { - pr_err("missing tx-clock-name property\n"); - return -EINVAL; - } - if ((*prop < QE_CLK_NONE) || (*prop > QE_CLK24)) { - pr_err("invalid tx-clock property\n"); - return -EINVAL; - } - ug_info->uf_info.tx_clock = *prop; - } + err = ucc_geth_parse_clock(np, "rx", &ug_info->uf_info.rx_clock); + if (err) + return err; + err = ucc_geth_parse_clock(np, "tx", &ug_info->uf_info.tx_clock); + if (err) + return err; err = of_address_to_resource(np, 0, &res); if (err) From patchwork Sat Dec 5 19:17:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411599 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=LmEA9knq; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKG50ZgBz9sWR for ; Sun, 6 Dec 2020 06:22:21 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727894AbgLETVs (ORCPT ); Sat, 5 Dec 2020 14:21:48 -0500 Received: from mail-am6eur05on2114.outbound.protection.outlook.com ([40.107.22.114]:33377 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727233AbgLETUP (ORCPT ); Sat, 5 Dec 2020 14:20:15 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LsiBcEYWd7OCrnmZlbSYBUpDXSlKMyDIjloBy2uW6pOwNgbMtkvqablPY3I+1cUY7bCawyz9Wbmj5j5AzW1Wps8Im9Q0YDKqte2gwcDVQzP0X+A8uq+y7Ui+0l4tlLKcICmMBo/QzjVXqDyHBU/YX7izK5oYJ7aYjVfEMiVoR1coemXNz7XUB3aEOgs6pL6/Jq5cDVKaXPIYsA/d//GD+latj5IrM0GT3tdjoaGc6mLY7S3DdEvHsAiHJfImgdBDxXFp1W0NkMncjs8F1H8zISl8OBXxGyzr3Dxo08iJYhTJYpC8eA43gdHB/aGFL/itlXyQF0VH2FBYFR7ygVFE0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0K9ynC7FpPW3bXeUagPupFZFJ+6QApjQ6dO9f3UY+c8=; b=e/kRJDMzBSLDAx3dArgjw0epCQr8x/VgdY9JXL/iohr9lUkwIyasK9U6mjZFIDGxySg+WZFEbvjNUmNafbN6SiEB8G6vzCTT6BGg/7lzxppKvEOO5guYH0TqxVGlw65WJsDU/9QtBL+QzYkAedlQuUEMTOv6+P2p8sOSGM8HM9/VPPbrBmpXS5AoBSEdEfU8S/yDluZtQKRJxu5b7np1GVFvq3K+6jWWLEfYRbTNfQOslpQ0g43rc99/4OUsl4oWVmopKTQ20uNP3x0zetyrvfRq7zFnLnMcimouRzWQ0GjsdO3fHoDtsyuIUM4A8falh9e91TNMUP+iQxtVQe2dqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0K9ynC7FpPW3bXeUagPupFZFJ+6QApjQ6dO9f3UY+c8=; b=LmEA9knqDB5v6KtrJj5WzPNBFydCwFgAwEA57p0k1VAthx7Sd1h9mb8VCBR12CQ9XLOdm2XoEtB/KJ484B/Gz65KflUjyGbENsQrjiK+Ac2Y4OQO8ewL4w28jEmtaxjtQyYmP5iMl4DuaYpTDv0Vk28luPnoHny7oQUctGEolk4= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:28 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:28 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 13/20] ethernet: ucc_geth: constify ugeth_primary_info Date: Sat, 5 Dec 2020 20:17:36 +0100 Message-Id: <20201205191744.7847-14-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c96650d8-5fbd-4f8f-f63c-08d899528b8a X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:296; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x2XV+HXFsl3gwwtIMr49e22q72ItTHKjKG+XjPR5+3S/pMFwAB1cjJdG0VefcBg8qMxGT1YmBWn47Un0uAY3sJ7tOSKtExbz/0kMX7Jd4taTkelQEqoNTv/qTsw1Q4eAUYsgI0aNt8LdJ63dHysv5+HIlWo1o8pmGToPCBalnhHEhtQSjmNgOU2gNXJo709el7QxMlttS/LeDvJX25e7B4bNnJ5O6z+hIMzXlMBJSJnoc5aKvdXwr9ckXkaez56RXI6AP5WjfzHE179rjyfH2ArKDS8dcugIyov1vCuG6MgPeNXhXNAfTRhuG6G8WC3XoO422+tldQO+PBSFybHkBw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(4744005)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: lY+XTcjuBM76HJO91MK6EOs+yk9T+kzvrE/pNbwdJwoAXQppk+JulH7KH2xPhMs0uFrZorKp0Z1R9b+n9SOCuGnRWIeDE3vWbcK8ajjxAvOZpH2cDEj2yh1tWMM4HoGe78KhcaKKMELP+owt6LegGbK85uWOgENCtZ3Ortj8Z6ELxnc1OzMVjoJYFWDLg3CcC3mNgEQV/AB692glIEdRRYt77lPVhbnUVWkV9aqtFodyBbC8Zgijqh6B0qIL7w4+ArQ0kmWlX5dtlTafjE4fFynWf4Q53ozczE4JuHhpjNjgTUhKmNOySHA62yhdVTrUcWewiI0cgEu0QQFl3zfqhyzRoe8OyQEsFL6CeLvj+8RSv7Vc2nlFw3UDPrzehJVkXGFeJSpC3GEUhNA0sHpJkv+xxtx5oJG6REkLopt1KBx+Omb3Ri7NxzaC9zOL/Y0dR8KUbaahKgbjAnj/GFMkO0agQdxAPR5CeC9CFRp1+92+xUyD+PFFtRfSWWs7ptm+1gxICLqC4zvyvaCqr6O4HK2DB0kkcErCEt7muR0g4PAi8XdbAH3NWZYzLUnnZmdxLyLuEjBCdiWzGI94RuSoexF5ZwAX+QfaFH7fcBeiC5pjKBvIQIKW1KARFgPxLRbPoJ6ipRYNnGLCSs05g5yQ6F7fKDTsx/DtFm7y2Fex7uy7fUbn4briRqzs/WKAMODNEAXzzNkatMCmNddTFPIrIJUeOp+fv0fyouyCDMH7Bq2TNZjH9sdaMJsxpfIgUIZboxUkVK8Na2X4QqpEHeatH3kqkFBvgWOkrGFar506WLnEBCg1xihWmDqSr69YBWBVbd0wKkqHlhMsBEHJNxd9xeN2x/zRK9FQ1lDz2JVBDZaFV3iumfqBhxCJcWrJHG/B7kARh3NFcmZDpy3QIr0mr1WKdRMWq0sMGf0IIBOpJRutcBhjIKf1vHD7A9tcjM5w4/vb/hGOor699/3dIy0kN6CZVH7F1EzwVFhwJzvFgpz52MNXyK280Iuh9lrvvK9Q X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: c96650d8-5fbd-4f8f-f63c-08d899528b8a X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:28.1752 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mS/40pqb/q/ijE4bvbXlVqY4K/iOg6r76W0JJTEboH+OKorUZRlNQCMro3ZsP7TUNdAn1SrKa1AqLA+QUttl3ksi035qMwqQea/TWYRoq4w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 700eafef4921..a06744d8b4af 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -70,7 +70,7 @@ static struct { module_param_named(debug, debug.msg_enable, int, 0); MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 0xffff=all)"); -static struct ucc_geth_info ugeth_primary_info = { +static const struct ucc_geth_info ugeth_primary_info = { .uf_info = { .bd_mem_part = MEM_PART_SYSTEM, .rtsm = UCC_FAST_SEND_IDLES_BETWEEN_FRAMES, From patchwork Sat Dec 5 19:17:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411598 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=OaFZcpP8; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKG34bLpz9sW1 for ; Sun, 6 Dec 2020 06:22:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727861AbgLETVp (ORCPT ); Sat, 5 Dec 2020 14:21:45 -0500 Received: from mail-am6eur05on2134.outbound.protection.outlook.com ([40.107.22.134]:19809 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727218AbgLETUS (ORCPT ); Sat, 5 Dec 2020 14:20:18 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HsnDaHGkk/uyCsHZkLCLqCXbPhTmBHVjyI//amBS+8UJAZnyjVW88Jdjcxfm0wf7bWRPTWwvDpXYkMuCkhPuXyHkmWYNspvBN/gZM7S1enYzOn9NQAj3CE1zyv8kRJEEfHY0EFNE8uzcA3OHsaPrLzvNIiYX7rC4GWrpWYsvhaUb68JQ1PrCJkEyvb2hjLrAoRlgMpCRnpJoXkQzuq0P/pfqs2RcO3iljtVWuAcIMstaSNzYo6bEf4VQ5x/GfuFv0bs096zmqxKdyedlmdsnQk6UTfYEDSDrLmaXqHPogA0TuBAmcF7HlcETWUYceJABlnxR6CUvy/FuuqA9RqWA4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LXkO9S05fdZQNu+ImhLzBsKq4426rJzgFtggpGQd9b0=; b=DC/tD+2UVFkELgstrjB23yfpGlhomMpgq+k//SsAaPTD1HuGaZnvhVFUdqVwW/ctAJcxiv6a2BmBxAbJpFkRSnGDaBQqstogmRuYEuh7Ygo3Uylmkfp3DluSw8zyOjYdQTCnvKboMv1GH2PtyVvZ+oEX7s3inRqMdDhvwJ8hzT1RdToM06TxF5Lvn90yho/wvzRL4YlGuNGgV2yhMycX44uWCLzOfsilvY0/y939glv3iTVjR9+3GELGGaYvxcqW6ugd3wCpuPGQvoYPM5z6EqahqcVJcRLWJNtbQSSJjC2iwabsBldeZRx5voDe6mOchzN+8ubQ8JTeSlaBuFGWJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LXkO9S05fdZQNu+ImhLzBsKq4426rJzgFtggpGQd9b0=; b=OaFZcpP8mbW1MvUQ5HqhFmEwxqPYPMgb8u4qhHqRzJFzu/Zr64web5KR6ZRFeD+A8kqVyiGsusVrv7tsbjxiaWT+rWcFMTvc4pThB2CzDK54G1Z99AVYy26UYYohLQLFJ0dNhBWBmMPusRyPjRTeHxklAeesTgunFXdPY87XwMk= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:29 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:29 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 14/20] ethernet: ucc_geth: don't statically allocate eight ucc_geth_info Date: Sat, 5 Dec 2020 20:17:37 +0100 Message-Id: <20201205191744.7847-15-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ee0a046b-c2ae-45fb-faf0-08d899528c02 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hBMw0SbJYBOesXgOtW/bLmW6wYsXQZAo9nCcpKHIwpj0c4g3FNPhUFTJY21n+FWPSSVSbOlweRIgObFX8DDo8vSmrhizm3n87QNE/YlR7m8gH1kHXtjT7AguHCQu3x2DwqiK3oPej8lXD9NLcQr3DDa1+EX7sbjSzLAhqFX+ERRv//8FbozCJrXEUAtdWZu6CseynbzNflHh8nCCiCZn9pYlXGR8ypIUBwcG/gzBZlwUQ1V5jiyIYhmKKulCOHfYnZ+sQhybcWmtm3Wcyd09ymheaN//jE/ClRxk6r50wHP0xH49N0FPd7SWZeluL+lu/OWm+XybMA45gRp4uHlQ3Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 32UppUUv6iz/0ReSezwEkLNuWXsmyqmAUUneYmNKZDbSa47d8CGwBeMrzQRJnMgDNazAp/0tHQFBmU5Tcm82kctbXsB69VEzSko9Y4pew8W9+EcJLOeJLKK2wi7uXpZka3I2svOh4MbJIGZmzyjdE6/YsYFq5EgFtMktsIvMLRnm6eL9d1V21ctc9fRjTWn9h4SRsSnKLe+pu7IWeksx6862EipblC91oyTatgIu6ozaXsy5q6yDXxzftdDcpzLHTnzFF3FWT1wUKXuqB5G5f9Jsbq/bKPmvX0QlUs3C3GGAV+WYVWphvzZH2fHdrOFrNUZlTVj1wwriBxYGwBn3+DkevK1WlgCVSnHJfRty7QvkPTABZQCcV+hz1lRDHKrouQoBt+HMutD7jgwrnjKQJcLRJCds9R3cFGsVT06kdMSJwg6CiWNe6Oc+bHgvTDKH9vitmwt0JKqX01qtY1Q/uzD4+kX6hLAxVWZl3fcGF0BivJ29Ugoq9YPplWu3ykGKgAth8jb6ub1oP7cX/YMASp5gquRuXjgsFHNfBS8TujvWcGcSslfiP9woSGKB3Ho3E0sow2bVZUoHcBdCkEpF1tOfwP1ndD5DN8dZDRv7pJ6mlupnGpt6vNIExotMhgF2mYRJKuO7rb185PQuZK2ywCR2Yom5VtsqFnDy9N8vh+3rfOcaRV6gyOi0zB5dWYh5WMo9ttjMyD7Z134V40qAMKruD97JXV4hDRxTxB3XNrmZ9t/Pz9ybnSthXr0UCGkORsAZexwmL6OmICWqucwaSc1+zWN4UpzOHZ5J01WIGRr/lVHP31tuQjNsoPLk/MkvsLvNxnxo1AxpPA60rfxn3hUQuhMIEkO86rb8JkEAvt7Cg7+PuiqDEmK5XdVZ6JfKIeFnPqx3uQY+wnRQuBd1K61E4VpQUZjy6SDVDdS5iuWW3LwzFLrmMEnOZvRSQQpVd8jGTc+H8jVFnHe5LTkf5KjzOEuCq+UJhmmjOOD+ZxwBJCEPCl2dhlhDf7olTn7I X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: ee0a046b-c2ae-45fb-faf0-08d899528c02 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:28.9488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HkyEaClC2PalthrLqJGbGU79xJKOylbVHpUsGTNciY+fx6IEi/fLGSenbmO32M1XctFpnikkIPNl3LV9SRqCmzOiJKPNsx/gINfiOniLZD8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org struct ucc_geth_info is somewhat large, and on systems with only one or two UCC instances, that just wastes a few KB of memory. So allocate and populate a chunk of memory at probe time instead of initializing them all during driver init. Note that the existing "ug_info == NULL" check was dead code, as the address of some static array element can obviously never be NULL. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 32 +++++++++-------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index a06744d8b4af..273342233bba 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -157,8 +157,6 @@ static const struct ucc_geth_info ugeth_primary_info = { .riscRx = QE_RISC_ALLOCATION_RISC1_AND_RISC2, }; -static struct ucc_geth_info ugeth_info[8]; - #ifdef DEBUG static void mem_disp(u8 *addr, int size) { @@ -3714,25 +3712,23 @@ static int ucc_geth_probe(struct platform_device* ofdev) if ((ucc_num < 0) || (ucc_num > 7)) return -ENODEV; - ug_info = &ugeth_info[ucc_num]; - if (ug_info == NULL) { - if (netif_msg_probe(&debug)) - pr_err("[%d] Missing additional data!\n", ucc_num); - return -ENODEV; - } + ug_info = kmalloc(sizeof(*ug_info), GFP_KERNEL); + if (ug_info == NULL) + return -ENOMEM; + memcpy(ug_info, &ugeth_primary_info, sizeof(*ug_info)); ug_info->uf_info.ucc_num = ucc_num; err = ucc_geth_parse_clock(np, "rx", &ug_info->uf_info.rx_clock); if (err) - return err; + goto err_free_info; err = ucc_geth_parse_clock(np, "tx", &ug_info->uf_info.tx_clock); if (err) - return err; + goto err_free_info; err = of_address_to_resource(np, 0, &res); if (err) - return -EINVAL; + goto err_free_info; ug_info->uf_info.regs = res.start; ug_info->uf_info.irq = irq_of_parse_and_map(np, 0); @@ -3745,7 +3741,7 @@ static int ucc_geth_probe(struct platform_device* ofdev) */ err = of_phy_register_fixed_link(np); if (err) - return err; + goto err_free_info; ug_info->phy_node = of_node_get(np); } @@ -3876,6 +3872,8 @@ static int ucc_geth_probe(struct platform_device* ofdev) of_phy_deregister_fixed_link(np); of_node_put(ug_info->tbi_node); of_node_put(ug_info->phy_node); +err_free_info: + kfree(ug_info); return err; } @@ -3886,6 +3884,7 @@ static int ucc_geth_remove(struct platform_device* ofdev) struct ucc_geth_private *ugeth = netdev_priv(dev); struct device_node *np = ofdev->dev.of_node; + kfree(ugeth->ug_info); ucc_geth_memclean(ugeth); if (of_phy_is_fixed_link(np)) of_phy_deregister_fixed_link(np); @@ -3920,17 +3919,10 @@ static struct platform_driver ucc_geth_driver = { static int __init ucc_geth_init(void) { - int i, ret; - if (netif_msg_drv(&debug)) pr_info(DRV_DESC "\n"); - for (i = 0; i < 8; i++) - memcpy(&(ugeth_info[i]), &ugeth_primary_info, - sizeof(ugeth_primary_info)); - - ret = platform_driver_register(&ucc_geth_driver); - return ret; + return platform_driver_register(&ucc_geth_driver); } static void __exit ucc_geth_exit(void) From patchwork Sat Dec 5 19:17:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411591 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=PEGubjRw; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDf5YKqz9sWQ for ; Sun, 6 Dec 2020 06:21:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727496AbgLETUw (ORCPT ); Sat, 5 Dec 2020 14:20:52 -0500 Received: from mail-am6eur05on2101.outbound.protection.outlook.com ([40.107.22.101]:29825 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725923AbgLETUg (ORCPT ); Sat, 5 Dec 2020 14:20:36 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hB0jYpZThjDi2jonEa8g/kCVLkMCDwwcQVCx+5twz4us78WsuiihX1K94ZX2vFx8WdklrkK6PLvTEJ2nrpWBxtzgXGSvOKO6Z4b1TKkLBR/l6xcyeG71CQ4dgIfazjpmlvKDdsCJKrfBpUcJ7n8nqeealovJHJX/tZoHzMCAw52EHalT2fOPPCrnZbTrkP0/mb/UbawUkL+d9XIAN/UeMdqrK6sACTLkZSzjr178XJApHcAYntDRKNsmq3Z3fzqg3BYe7GVkrSRrPyn6RLWxJBFuMdwsaieDuRpetp09e6LrHkB0Oc25xRhPxPOd6EQCK9MiuvAFDxBfgBjMtbXoCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jkDQ5X09s+B2qH7fCsAIyqj+eG/eg9qMrfZw00etq8Q=; b=M8TQYo07y6T7LR7ngg36oGDUUa5jGxweOHPIbgwGgJ97raO+pA75IFV7up0Kq+w8MiIIdaU9B/fBCrY26WGdg8282/uHhfe5PqXYIIv4R+4Yga2bIKdcgoI21pRZMnLWUKxRnr5XyUaJlwPwHcNWlcT9aPbPpt+HsNyumeM0fV1Ti3b2aFWfIT2nVLYbm4uZMlhvBLvaS8ARcs7ixEcqSQe5fak8TMbsgqsNhxH9QopuKj7RXGWFRJMMSAnhoyP/08Tou2LL7WiNXJ3rs47giIV8Pr4kfnexBUnrgPQ2df2QEleMWN3mPOHO9WDk5RMg9wQOvJBsySOxIkrbnGbIZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jkDQ5X09s+B2qH7fCsAIyqj+eG/eg9qMrfZw00etq8Q=; b=PEGubjRwGw13j7ZqtjBU0R7WuhLd+98kwNJ0ss6OFG1kAJ0kJgODBv4WbfN3cNP5dyoUzKp57lLJwQdfUefRMkRKDqgyznw+prqRDThg94p/9ndzPCCCT5OHdDkS09KWHh2EtAsOSTs10rvDXohh9MbPzYd2/w4Dhktr28ShGQw= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:30 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:29 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 15/20] ethernet: ucc_geth: use UCC_GETH_{RX,TX}_BD_RING_ALIGNMENT macros directly Date: Sat, 5 Dec 2020 20:17:38 +0100 Message-Id: <20201205191744.7847-16-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fba62702-cacc-4c8a-32d2-08d899528c87 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lYyAmP7CMOEEtYTEOFllZWHYGNplZintAMms4rTP1r5HFAx7lIjpbxa77T+M3B+mtgmLNgHyR+cimfvkRDB9YNVZ8LmbWT7neX/hnxCRa9ERXv2ezANomrGDEETd8chMO8Q+H/3NGEPEmHKKZu5nlBUNVj8I8BmMfNIAJu3dK1tfl2ue47hOhxTM9jfShT/BqjwpwWglwOwNAf6Vd0am/egdrfHWhIEbDQit7QhPSUNwQnJvJ7gQtWbPSw+DKvGy86ZnOd4Ni6VRcpSJzHwC2n2OwPQf4lzpJTCA9X4p5Mt4iSZ/ALXfZbj8DPeSyjTo7WDx1l9Sqtsg+47m7Y6WGA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: QPbwrFyDUnf3nAYVrkOMpubxw97rJfn491BNO/sqfWWCQFXrOkx+RwDHNDsCMXeW9BSXHSzBu6HsLMpy+GUSHEEkvTrPunpaPY956Lk3Jn4tcgnVOKxLW6FGRtWUaUkWY/fIzJAsf0AIfzBXFztVKq6w8aMIx9QzSluuFwC9ZiTA+zTh+xBVdB9wzI+5U1qqvHJ//opep5hvM38r8nxG16jFw2drYO8MRSrPLFiVCCgU29Mtcch9QKkC1PKn+GpOBiw0a/Hc2/9SiCzlQ6+afgPWJDhJG31XI+8j2bZvgUAWiQPej/BNZxIWlhLzH7wkiKJqQfokxwy5qGqFOhPYRQywchNFQXM/EQzHvU9lgFbhBhSE/E9hnhRdMyl6+4ThOWpReEvTOyJTHdjhXhScVFxxg4uK22Jr5vy1Yb7Gxtl9bTG33tPPdSoqUoobC3QChwHVt477aBktwo/6rHpTerU45BPOaUjaEX1wmnqDBfK3cY/4xq5KDfqT5GJOfxO9EwGFkW+q8B71o66bzfAJxyEoYC7wipRfN+ezizYE3ClzlcLjoM0t/gxqytA1SQiWABG+Y0aSRRSMIKC+gb+VXvbHjp9RTjyzeF8Lnr5gGpHTY1agD2KQSclIHCfQE8iyO8K6dmp0+B+/w1IBjHvi+Et2Mx7ZRY95mvvtCjAgOTwE+PRVn1rQ757Fvzg1R+ywCjEErW3R7Dv8V1eNjmFXeNQRlqfd0OR4APrcarWkbg/8UBgwbOevNxesvS3zSgQrH7ezrGnzjlXyMjue/0SpMUeLxAIFGRXqt5g+iztVJE4MeRxw4Ooz48i2NvANbhIuTYGHK4HjMlwbURr4cpu3A+41Verwgc7mBmhB5qK9wYSpMaokRfV+H/MpYgI6UcuRnPjYHMVT4FtSozv7+6objwwMXoc8G4uu6mms5KTr2k8TGLShZA4UEzUlS/9T8JpzlNHlynZcHNw/BaCbyIL/x3zID/ndniUVTZgcJsYx/voDhiwd1NJbVpaf7xzxIqGT X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: fba62702-cacc-4c8a-32d2-08d899528c87 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:29.8323 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GdHj0hxns1V/fLkc4cG/FjV/csj8iZZZfB1OngCp7Jz/7yEc91vJIudbc0rJFsEZR87KutUEv4S14TYOS1gFRk3GwRgFHI7RaQ1Xon33/iQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org These macros both have the value 32, there's no point first initializing align to a lower value. If anything, one could throw in a BUILD_BUG_ON(UCC_GETH_TX_BD_RING_ALIGNMENT < 4), but it's not worth it - lots of code depends on named constants having sensible values. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 273342233bba..ccde42f547b8 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2196,9 +2196,7 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) length += UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; if (uf_info->bd_mem_part == MEM_PART_SYSTEM) { - u32 align = 4; - if (UCC_GETH_TX_BD_RING_ALIGNMENT > 4) - align = UCC_GETH_TX_BD_RING_ALIGNMENT; + u32 align = UCC_GETH_TX_BD_RING_ALIGNMENT; ugeth->tx_bd_ring_offset[j] = (u32) kmalloc((u32) (length + align), GFP_KERNEL); @@ -2274,9 +2272,7 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) for (j = 0; j < ug_info->numQueuesRx; j++) { length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); if (uf_info->bd_mem_part == MEM_PART_SYSTEM) { - u32 align = 4; - if (UCC_GETH_RX_BD_RING_ALIGNMENT > 4) - align = UCC_GETH_RX_BD_RING_ALIGNMENT; + u32 align = UCC_GETH_RX_BD_RING_ALIGNMENT; ugeth->rx_bd_ring_offset[j] = (u32) kmalloc((u32) (length + align), GFP_KERNEL); if (ugeth->rx_bd_ring_offset[j] != 0) From patchwork Sat Dec 5 19:17:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411594 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=kpnHeiJn; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKFJ5F1pz9sW8 for ; Sun, 6 Dec 2020 06:21:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727659AbgLETVH (ORCPT ); Sat, 5 Dec 2020 14:21:07 -0500 Received: from mail-am6eur05on2119.outbound.protection.outlook.com ([40.107.22.119]:7011 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726791AbgLETUl (ORCPT ); Sat, 5 Dec 2020 14:20:41 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ekosH0nbvP2bQzAvj82iyz1Bg5mGtqYQl5D5mpdVcrOOE9aIBKP6hBk+fqN9C91efxclGWjiMMlGJ7+J4maunVMW7CTbt6V8kizGaNF9d7mNLw8s47DI2SiN6lPwgMT1t0Rx/JIoGudwS0MTb1zf/Y8zKH5AmjFdroI487DC7YnOwN+6vLbKlVes9I3KYZrwsYkk7nYVMJK+5PRF8WO/OUFySYmoVm8m5V4JHXsw0CdeJToOc9dIQA9v7XTO0v1rx5NKVIqu+fHqwno0IyVns8Hn/WAIBYpjWXXqmuSRH6l1kiL1xyeXNX05PwktTIVZqUBtAfzbRePGnflDYIxa+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p5cT4lWb1TOoDsBju+zP+BzDu+mFtQHaoAEkftazw2A=; b=P+0HBHf/DFl5YbxxeUdKtBKI9ehGypA5EWVAMEw+QEIHKMdlsVyi8oxkWSodu1PaQv8ovgW7RDHHzBOZ2aZy8D76F3MNm6IPztHLviKUVRrzFvSz5G+IwLD5svmWdHDaVYRrvBflmWxkzZQ+IytrpDwy3/VEs8l+/TE8+dblO/tse1htWFs2r6FlPgOi/Yw+lczfduZHYhGAu3WblYQbyXPLLcqmfeY8kVDjnZirMIIJ+AlqDnEMMp+zNOKdghjZzDh+0wOENG+zGgyHWZuc7dWJoNKfnCxi5Hn46D5lXXFofus2l1U3V/HH1StgyyvHZbQaofOSVHHdOmrvPJpmvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p5cT4lWb1TOoDsBju+zP+BzDu+mFtQHaoAEkftazw2A=; b=kpnHeiJnC+fkPyqQ8KCdDAOTf/D0Yhsxfw2+K/JVx3u9I07y6jPtmanJOm1DvNRJAQwl/FbIW3N4OKD5VpUIlFpvSJp7tlC/7wpUeEaVwpKTT9xfYOlA6Ga4vMsvpx4vqZqUFOTKBICThk7knqDew9TsCV4qNdMFYRY9UXDgGdA= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:31 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 16/20] ethernet: ucc_geth: remove bd_mem_part and all associated code Date: Sat, 5 Dec 2020 20:17:39 +0100 Message-Id: <20201205191744.7847-17-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 50ebd930-5c7e-46ac-7467-08d899528d3b X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fmJecnkWEd67/z8T62dy+01LsbOoGK78+RWZPYjAxPIREJSco6tAhdaywDz+M2X5rogiExNsLeefDAtX0UoJxALWiXg6mmHaai1Bo6l99S3pYMnkqu92wKcN9A1bRzW3pQc7ZdKU7MdR2R4VtcRhs8hSh6K32wQOQNvoH3JO7Df4CICAMG5txIW0YZK3O0cUbpzvkw2J8rI7RPx/QDwkCAQqWRuQTVtW6pxbYnW3vFBuGlj3wluYhFmrUvCPzx2Qrh7GPEpQS/+kgTLN69wjwo8nk7dFJ+CmxS6EhedF/JOxLNO6bHbdnPfJZZobva9wXo6HCmmnqN9H3Gke/IUq2Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: uuZQHVKQpRG8HD50dFELlBhFP0TP6N0Lk7wqcFWFUAefODgB5+Ab8v8tWpL08X1d/OfAm+yvvN3ywWka/afuxDHqBKYQ4TXbC61SeJedtCw7Twe282ZFZxYqCrCjQxmf/NdUOiH0P6khO7pUK5YzB4Je/OJGDFi/9qim84o7+gkzF63FiXItPlyJ6ASmCpkfrL21mJc+96YmXWwoBiUX1l7ZlKs/d7WrVhQUoPXHdZka8r2M6f9/uq0nWWPNx1CgvFBrZt/Q9JoQEK05zlUT0l7S+gyURpnAfVUyaXLP3EXces4Joaa/cRN2pmkYdz9Pilfymr8s033qQi2O+wrv/CgR46s7RM7R/RmPOIrrhXg+qwWqL4Ik4WAu5nEqBk+Ko/x4Qnrpn1KkQSc4a2+D4wfYZCQZnyGT2JRtYO4ksebKV8GJkWxASI3f3bfXVpmjdKOzwnuhelj7jnLh/j5rBbBhHtGaGw2TR/To+p3WrXQvwpRlYWocwCNcaiEHEoutTOP+AFFpeHEqXd8TOthvY0KeLzjF3RiTMA9n4nNrKcYF1NzfC+G7qfg/wRnv7+IE0oQW6uMYWvyBvf5WzdjMIwjIiVGPCJP/WJYsQDClUx1UGP+TqUS4BlklhZtxdMv1KXZsqCCThisbJpEHyBZQPUlyGzTVULHeXV4rSwSGcF/iMzQt95WcIOBv0vPuwpifjIGWkP1CIsrmKGYcYp+YFqU6b9eKIb3UmYkR4eFLIoc4EwMTk5RXxqKrdNPN9zrBRGMHqwYB9J0qslWuE0UjlWJV2OdzsNblG5y20JP7Q+3dBvIVWfuP15chGnUbGWV1MdSP7b64cNMal5FqHrbj/IjKPDzxtARb+qImfzARUSf+uYNHPsEC9yz2dADSkd+E9hJe6IdRtHuzI/fHkmQJVtvD+hi9rxmB/KyxOOabwfCnlDazPB9qb+S+omNwB9HHyWDecbimeMNxT7Rou2sC43f4k5p0eIcULLlV8i7wf7+TP75JIZI7O7ZCWNH3cHU+ X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 50ebd930-5c7e-46ac-7467-08d899528d3b X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:31.0496 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lTCez1hgKvnAH3OrDYzfaOT8PDkI/jpWqOAnXGP5uerz3bMvrLzS667SRz4AYHiyyk/WRgnkuUmWOCMVxbs6KYQ9YgsjJfYvxYi12qbsDq8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The bd_mem_part member of ucc_geth_info always has the value MEM_PART_SYSTEM, and AFAICT, there has never been any code setting it to any other value. Moreover, muram is a somewhat precious resource, so there's no point using that when normal memory serves just as well. Apart from removing a lot of dead code, this is also motivated by wanting to clean up the "store result from kmalloc() in a u32" mess. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 106 ++++++---------------- include/soc/fsl/qe/qe.h | 6 -- include/soc/fsl/qe/ucc_fast.h | 1 - 3 files changed, 29 insertions(+), 84 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index ccde42f547b8..c9f619908561 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -72,7 +72,6 @@ MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 0xffff=all)"); static const struct ucc_geth_info ugeth_primary_info = { .uf_info = { - .bd_mem_part = MEM_PART_SYSTEM, .rtsm = UCC_FAST_SEND_IDLES_BETWEEN_FRAMES, .max_rx_buf_length = 1536, /* adjusted at startup if max-speed 1000 */ @@ -1854,12 +1853,7 @@ static void ucc_geth_free_rx(struct ucc_geth_private *ugeth) kfree(ugeth->rx_skbuff[i]); - if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_SYSTEM) - kfree((void *)ugeth->rx_bd_ring_offset[i]); - else if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_MURAM) - qe_muram_free(ugeth->rx_bd_ring_offset[i]); + kfree((void *)ugeth->rx_bd_ring_offset[i]); ugeth->p_rx_bd_ring[i] = NULL; } } @@ -1897,12 +1891,7 @@ static void ucc_geth_free_tx(struct ucc_geth_private *ugeth) kfree(ugeth->tx_skbuff[i]); if (ugeth->p_tx_bd_ring[i]) { - if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_SYSTEM) - kfree((void *)ugeth->tx_bd_ring_offset[i]); - else if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_MURAM) - qe_muram_free(ugeth->tx_bd_ring_offset[i]); + kfree((void *)ugeth->tx_bd_ring_offset[i]); ugeth->p_tx_bd_ring[i] = NULL; } } @@ -2060,13 +2049,6 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) ug_info = ugeth->ug_info; uf_info = &ug_info->uf_info; - if (!((uf_info->bd_mem_part == MEM_PART_SYSTEM) || - (uf_info->bd_mem_part == MEM_PART_MURAM))) { - if (netif_msg_probe(ugeth)) - pr_err("Bad memory partition value\n"); - return -EINVAL; - } - /* Rx BD lengths */ for (i = 0; i < ug_info->numQueuesRx; i++) { if ((ug_info->bdRingLenRx[i] < UCC_GETH_RX_BD_RING_SIZE_MIN) || @@ -2186,6 +2168,8 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) /* Allocate Tx bds */ for (j = 0; j < ug_info->numQueuesTx; j++) { + u32 align = UCC_GETH_TX_BD_RING_ALIGNMENT; + /* Allocate in multiple of UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT, according to spec */ @@ -2195,24 +2179,15 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) if ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) % UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) length += UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; - if (uf_info->bd_mem_part == MEM_PART_SYSTEM) { - u32 align = UCC_GETH_TX_BD_RING_ALIGNMENT; - ugeth->tx_bd_ring_offset[j] = - (u32) kmalloc((u32) (length + align), GFP_KERNEL); - - if (ugeth->tx_bd_ring_offset[j] != 0) - ugeth->p_tx_bd_ring[j] = - (u8 __iomem *)((ugeth->tx_bd_ring_offset[j] + - align) & ~(align - 1)); - } else if (uf_info->bd_mem_part == MEM_PART_MURAM) { - ugeth->tx_bd_ring_offset[j] = - qe_muram_alloc(length, - UCC_GETH_TX_BD_RING_ALIGNMENT); - if (!IS_ERR_VALUE(ugeth->tx_bd_ring_offset[j])) - ugeth->p_tx_bd_ring[j] = - (u8 __iomem *) qe_muram_addr(ugeth-> - tx_bd_ring_offset[j]); - } + + ugeth->tx_bd_ring_offset[j] = + (u32) kmalloc((u32) (length + align), GFP_KERNEL); + + if (ugeth->tx_bd_ring_offset[j] != 0) + ugeth->p_tx_bd_ring[j] = + (u8 __iomem *)((ugeth->tx_bd_ring_offset[j] + + align) & ~(align - 1)); + if (!ugeth->p_tx_bd_ring[j]) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate memory for Tx bd rings\n"); @@ -2270,24 +2245,16 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) /* Allocate Rx bds */ for (j = 0; j < ug_info->numQueuesRx; j++) { + u32 align = UCC_GETH_RX_BD_RING_ALIGNMENT; + length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); - if (uf_info->bd_mem_part == MEM_PART_SYSTEM) { - u32 align = UCC_GETH_RX_BD_RING_ALIGNMENT; - ugeth->rx_bd_ring_offset[j] = - (u32) kmalloc((u32) (length + align), GFP_KERNEL); - if (ugeth->rx_bd_ring_offset[j] != 0) - ugeth->p_rx_bd_ring[j] = - (u8 __iomem *)((ugeth->rx_bd_ring_offset[j] + - align) & ~(align - 1)); - } else if (uf_info->bd_mem_part == MEM_PART_MURAM) { - ugeth->rx_bd_ring_offset[j] = - qe_muram_alloc(length, - UCC_GETH_RX_BD_RING_ALIGNMENT); - if (!IS_ERR_VALUE(ugeth->rx_bd_ring_offset[j])) - ugeth->p_rx_bd_ring[j] = - (u8 __iomem *) qe_muram_addr(ugeth-> - rx_bd_ring_offset[j]); - } + ugeth->rx_bd_ring_offset[j] = + (u32) kmalloc((u32) (length + align), GFP_KERNEL); + if (ugeth->rx_bd_ring_offset[j] != 0) + ugeth->p_rx_bd_ring[j] = + (u8 __iomem *)((ugeth->rx_bd_ring_offset[j] + + align) & ~(align - 1)); + if (!ugeth->p_rx_bd_ring[j]) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate memory for Rx bd rings\n"); @@ -2552,20 +2519,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) endOfRing = ugeth->p_tx_bd_ring[i] + (ug_info->bdRingLenTx[i] - 1) * sizeof(struct qe_bd); - if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { - out_be32(&ugeth->p_send_q_mem_reg->sqqd[i].bd_ring_base, - (u32) virt_to_phys(ugeth->p_tx_bd_ring[i])); - out_be32(&ugeth->p_send_q_mem_reg->sqqd[i]. - last_bd_completed_address, - (u32) virt_to_phys(endOfRing)); - } else if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_MURAM) { - out_be32(&ugeth->p_send_q_mem_reg->sqqd[i].bd_ring_base, - (u32)qe_muram_dma(ugeth->p_tx_bd_ring[i])); - out_be32(&ugeth->p_send_q_mem_reg->sqqd[i]. - last_bd_completed_address, - (u32)qe_muram_dma(endOfRing)); - } + out_be32(&ugeth->p_send_q_mem_reg->sqqd[i].bd_ring_base, + (u32) virt_to_phys(ugeth->p_tx_bd_ring[i])); + out_be32(&ugeth->p_send_q_mem_reg->sqqd[i]. + last_bd_completed_address, + (u32) virt_to_phys(endOfRing)); } /* schedulerbasepointer */ @@ -2784,14 +2742,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Setup the table */ /* Assume BD rings are already established */ for (i = 0; i < ug_info->numQueuesRx; i++) { - if (ugeth->ug_info->uf_info.bd_mem_part == MEM_PART_SYSTEM) { - out_be32(&ugeth->p_rx_bd_qs_tbl[i].externalbdbaseptr, - (u32) virt_to_phys(ugeth->p_rx_bd_ring[i])); - } else if (ugeth->ug_info->uf_info.bd_mem_part == - MEM_PART_MURAM) { - out_be32(&ugeth->p_rx_bd_qs_tbl[i].externalbdbaseptr, - (u32)qe_muram_dma(ugeth->p_rx_bd_ring[i])); - } + out_be32(&ugeth->p_rx_bd_qs_tbl[i].externalbdbaseptr, + (u32) virt_to_phys(ugeth->p_rx_bd_ring[i])); /* rest of fields handled by QE */ } diff --git a/include/soc/fsl/qe/qe.h b/include/soc/fsl/qe/qe.h index 66f1afc393d1..4925a1b59dc9 100644 --- a/include/soc/fsl/qe/qe.h +++ b/include/soc/fsl/qe/qe.h @@ -27,12 +27,6 @@ #define QE_NUM_OF_BRGS 16 #define QE_NUM_OF_PORTS 1024 -/* Memory partitions -*/ -#define MEM_PART_SYSTEM 0 -#define MEM_PART_SECONDARY 1 -#define MEM_PART_MURAM 2 - /* Clocks and BRGs */ enum qe_clock { QE_CLK_NONE = 0, diff --git a/include/soc/fsl/qe/ucc_fast.h b/include/soc/fsl/qe/ucc_fast.h index dc4e79468094..9696a5b9b5d1 100644 --- a/include/soc/fsl/qe/ucc_fast.h +++ b/include/soc/fsl/qe/ucc_fast.h @@ -146,7 +146,6 @@ struct ucc_fast_info { resource_size_t regs; int irq; u32 uccm_mask; - int bd_mem_part; int brkpt_support; int grant_support; int tsa; From patchwork Sat Dec 5 19:17:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411595 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=I+A0wtOd; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKFP2N3Dz9sW1 for ; Sun, 6 Dec 2020 06:21:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727715AbgLETVV (ORCPT ); Sat, 5 Dec 2020 14:21:21 -0500 Received: from mail-am6eur05on2131.outbound.protection.outlook.com ([40.107.22.131]:50144 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727445AbgLETUl (ORCPT ); Sat, 5 Dec 2020 14:20:41 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dT4sLkbCqCotYnAnXT4zw1CaW9BSg7yPQxnJty/hK/oyCEAQjVNycfGQIz1cXUNwj/dXigrN4M5ZUYQs1T9NkO6faxmYj85JdX6I054V32TPX77GEjcBBoDNvFe3mwPNaWT6LQwVdqfxM68odLjpHrpcEYLXR40EzIdMjzwKvSjotJuShYJ+ZWupQloq0SCicZQpXgwekDjLhRHPQhuEDqth1Sr7h8gimGOqPpvyRuRLxkoCc89VFhaT1oH/5vVFlUipn2XWHc90aw7k7RBnaNB0OOKOjVEf51dU2Oke7d1uLkqdsc4PY71xukvlI5x/sF08tzG6THcCffjzF/DsuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xZ4sPbbjyo9slA0ImQ87wTmVnC8Pn7/hnGEqYEL7IjY=; b=NsxhfMiEa7hTgMGfD0sk9W6mPPszJQO54Axt/X4t7kIa34DW5eVHXRioNuauuU2Zc7WAHXumg8apjvBauYYIjF3W+NFF4mL9VEPLRtZP/QTkuVk6ge+SSP/YOkUDRXIftdtmHYrrfJK0ZGLZF5GiXRc5GJ+AJbcJyF8g5TFql9VU1KEmX2ucVAMXcWluknteSimQv+D7GQRToV9o+wJrd9AUx85tMGDt92Gtye8PERPlB3t6radEQgvIxjCjZCBAVLzv//s6xloMMv2KcIijfZbi8iICY0BG7Scr2JWCPfiiuracgMX8Tj/b6X9ZnA6aYTzluIy05krZnVXWUBs7AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xZ4sPbbjyo9slA0ImQ87wTmVnC8Pn7/hnGEqYEL7IjY=; b=I+A0wtOdZUTSix1SDtHy+CVPxRH6XWAA4T74D5ZUca4tu3Z53z1fU45ve00UpqhJz3JL+JMsmMVd1BBdDgl6VLdU7bCXSCqjaIDQSNmRt0/JNcIDSe0RUqbQskDjt7GhVA/bb6lXRT5g1v8Xnpod41+aYVA18Gxfo30nMgPF1Cg= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:31 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 17/20] ethernet: ucc_geth: replace kmalloc_array()+for loop by kcalloc() Date: Sat, 5 Dec 2020 20:17:40 +0100 Message-Id: <20201205191744.7847-18-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ed4a984-a6d8-477f-401c-08d899528dbb X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2958; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i5SX06HBixAY9iOgPO9T0Ukfhl5JE4k57DEiH0fG5KQxKjkWY2flFl1xR7ap7ixdIusL/hvUp0k/ExvLd3KIqiNFJpB/xhKwioWg2Z0W1Ih7EhjlA2s7o8XxX8z5GnLWyrFJlISokO/gkB1mNsIXIvTtUJCP9C4pJD+1zR8rIssO0+T6x5+kUaST9ByA6np9M/V8VmPjVa0JY1i+hPZDQ3fYIEnXQ/+uNWN4RQWQ7mHHLo5OFxXZwf2/TmtxwDRXCrsvXLmuqfSE7I5IAATck/7ofFCAJWHlSrv9VVne9Bir0ofjY39AL7+dpwr13YSN7UbVBNA1+yIE91AqL4bJ0A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: xr5enkF2jNltvO/n6qy5wAFaCiGJTTE4WfRIEetifIq2rpWYN7RrT69iby8VNZERGXeY+61hPtGIeXv1IPmMuBuCC4JUaIqs36s3Kv+0ZVKV+bmq/7wEYGT7T7u/dE8sjgySkHRlvt1gHbcuO9ORzqi2pzxvBWR0pdx9fGGFHddWwa/2vl6KPBRJFqaDRA1prlHAIFWTHOi9TFNq5kiHwDsJzG2Krj/uL6KzE6qyTaJjmNgTagH4rGW9/Y6VVpqeom4Extqcw3+7j6Q330aHaTxIUMuMuLAFRm5VD6wy9xDggY/IV1AILUwu5n4uBacuAqetYAyJfrOFRx6TDO/SdJGakNl6dFk6igP/CrHomv/3UbUQSG594elh72Fx/j6XMkAZcpCpqLt3+vckMnX8vqzaOO1UV0cy/h6dQxOfPE6L1endo2gd6xOAmFucJdvQ2jBMYdGytImPD/IwEaI4kmrLKp1iUFSoP9M90dHdXtAcqVm8bWOcB1PvjOnmSIFkONMs3URDSfeSnWZbhDznmT4+G5DvggvAKRviYoxoj961XeGi6smu1ymLNR63JTheeOZ4/YAvJ0ewCp819ZchWfSwdNL3s/IPrqWZhDyTA3RHoxaBb75F0DrerHlqW1eNvU0Z/qrQ7ysRxk1uOTnYsKwc+mfrNm/d96207Q/MhPMcekNbEEcq93mPGZ+h+63dVvyyM0NJMTArmqFntyIlZ7KUSfjQt0rVMARBsYk0zMQnG6q9yuUxJZaxFeS8deNcnzdU77t5scq3/aAUEPF/Is0mZvvicbrztI2/3NTLetFJEP29FfjYyPvYkeprPQ/wIew4bym+TEdhrvVIC6RAcjEPmH2Cb6YHHLZi8FGNZhHCaR/7N6/KrtdNLe9Jswqk7FRopvB+V1BMIrg/yyrU6ZYHIGz3dBM7UVLQkCffjIRE5ULVMTDxCO7LHGsHXnE4+s2h8CLmfNO7j/fcG23EMqcy43PJpnd4JUeCkP1LzH2tIX306+qu7m/8cCfZ+VTB X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed4a984-a6d8-477f-401c-08d899528dbb X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:31.8661 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OcLdPfrTiX6Fm4b4Yo31GCT72wjApuSBfxzUl8bZ0px3OvaDxhcdaT0O8g/N6xkNYcqZ92XvHCpCbO47EG4CJ8/hiXYTMHyknFCaYJYBoFg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index c9f619908561..3aebea191b52 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2203,8 +2203,8 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) for (j = 0; j < ug_info->numQueuesTx; j++) { /* Setup the skbuff rings */ ugeth->tx_skbuff[j] = - kmalloc_array(ugeth->ug_info->bdRingLenTx[j], - sizeof(struct sk_buff *), GFP_KERNEL); + kcalloc(ugeth->ug_info->bdRingLenTx[j], + sizeof(struct sk_buff *), GFP_KERNEL); if (ugeth->tx_skbuff[j] == NULL) { if (netif_msg_ifup(ugeth)) @@ -2212,9 +2212,6 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) return -ENOMEM; } - for (i = 0; i < ugeth->ug_info->bdRingLenTx[j]; i++) - ugeth->tx_skbuff[j][i] = NULL; - ugeth->skb_curtx[j] = ugeth->skb_dirtytx[j] = 0; bd = ugeth->confBd[j] = ugeth->txBd[j] = ugeth->p_tx_bd_ring[j]; for (i = 0; i < ug_info->bdRingLenTx[j]; i++) { @@ -2266,8 +2263,8 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) for (j = 0; j < ug_info->numQueuesRx; j++) { /* Setup the skbuff rings */ ugeth->rx_skbuff[j] = - kmalloc_array(ugeth->ug_info->bdRingLenRx[j], - sizeof(struct sk_buff *), GFP_KERNEL); + kcalloc(ugeth->ug_info->bdRingLenRx[j], + sizeof(struct sk_buff *), GFP_KERNEL); if (ugeth->rx_skbuff[j] == NULL) { if (netif_msg_ifup(ugeth)) @@ -2275,9 +2272,6 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) return -ENOMEM; } - for (i = 0; i < ugeth->ug_info->bdRingLenRx[j]; i++) - ugeth->rx_skbuff[j][i] = NULL; - ugeth->skb_currx[j] = 0; bd = ugeth->rxBd[j] = ugeth->p_rx_bd_ring[j]; for (i = 0; i < ug_info->bdRingLenRx[j]; i++) { From patchwork Sat Dec 5 19:17:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411592 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=TVSsN/H7; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDh3Q0kz9sWL for ; Sun, 6 Dec 2020 06:21:08 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727535AbgLETU5 (ORCPT ); Sat, 5 Dec 2020 14:20:57 -0500 Received: from mail-am6eur05on2114.outbound.protection.outlook.com ([40.107.22.114]:33377 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727457AbgLETUn (ORCPT ); Sat, 5 Dec 2020 14:20:43 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S0NwsEEqAnh/O5fTcqyINRswdo+r+SLYvO+qu5/kq5owGZSyUDiJ8dkYUjnSkavEZRjVCWSP2kTMkQf43v/KWleU4hgaAHGEHcfQhf3yZD/RcYRcl/W/B9hhjAgBMbRNFfiBqHqUwXhwPmKxFNSgu9W+0tJ2+lhzLfzO42VIuU0bsnUTkkAMrs7MzbZGBtJNKyncJne6wr2czWCk1c3CR+AAAKvKdkPoy2IoaBCYDhgG2KNlr76Gy208mp/2gCX1WdP6Bj0b1BEyJHYchiZDd8l9YtLax/kkBQIRaVCrkcthgAT8ELaz/mR1r5kZXRagaNe+UkOA1GpTo9Hnyl2oIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nZPaj5py/HUx/r7lOBQI1YfHgXF6/CDK5XLl1BwVAo0=; b=lL0lLxdKgwfwi/T5MBAfRUSEZk5fE85OrWaMSgyymMMAmyxOiV8a39pOSG2e1LIAgXX/DPKlhIR9Oy3758KtYc8OUBTbTfWiIPCpjBrtKvvK5MpfXtQXytDdFx/GzG4xpWM8ah6sXKyPuCSoU9FidxugCHUjbAw7p/IUN1TCGuTsVBV+KePJnz7Mt42SwkWdmg8xyNNTOMmUns2crqFCLUR+M44ugOEyHMPsZ9go2feIjNVRRBQsMVxA9XKX7llhdvmEFN0C4mn4gTC3UKugadXv/29yahZarFR6UIltKmd4BhLVemVKHbdq0jMDGuUNL0houocZ6GCwWw7bjAhGug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nZPaj5py/HUx/r7lOBQI1YfHgXF6/CDK5XLl1BwVAo0=; b=TVSsN/H7GB2/Xz4iWsNW6uKD4xgEyGMq6AgabuUOhR28eGQoMaXjrkdJ/f6NX4H0rKRrYnomjIpIGkNcZWz9CXwjAFSOE2wRrEiSu+mp53okwLf/8vDpaZbU5iGJV8Qjio1quwOGHiNAmwASKJwYruxbXXHbOgkzam9gqwmVhYY= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:32 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:32 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 18/20] ethernet: ucc_geth: add helper to replace repeated switch statements Date: Sat, 5 Dec 2020 20:17:41 +0100 Message-Id: <20201205191744.7847-19-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0a4833d6-db59-4619-6bdc-08d899528e33 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dmPKYl9gT0JMHesoaH32u1dt5PZGSJiF4ukhWIP2BrKiXAoBvyWtRJSAnkbAno0cmJsCQHjLCiK/zhzi2tLkxszhFc/KOuL2TDDaIxKe4VawChIGHYx/X88v4468z6WgomId+BANBKo5e9HdparuBaEUyur3kDYDwSNYzmjhq6dBuZSlEFFttZW0GGWMY6iv4DKVfjwKn5RnMwMi/nbfVVJLvVIbRG8hTF+tuVyLSSyUUk3rt6FyzcBsFprGKbxHd/Yb7ImKjvyE1niMk9/M7PaLHChNZ0Q6b+ydeVlQMmA/9OfOgpr/AlLz/BdGtanoRgBb1beKp+dSuApm+2m0rA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: UZ1yNZnt2wzT0xicwgEqfTyMhiaC7rI8KROvOkLEogiM2qLyT34G4+k8jionDKbjNhyG0yLSLdxNSPMOsvK7C65/fpneEeKaprjH8Q9SS0yliCzJEjpbi9mQBBAgg0wdvAWyVZC0G3VwBAvMRicA4DwX1RSPgryKUQZF0bcuV79NtxJC0fZ5yrnmbw16IpQWSDEZknpAnYWjBDAjjL9G0NAwJuxW+z6PxjAIrBmTgNAwfQgzOKRZd8efItXZ0Rfhk93QRRhBai+D1+BbWBJh/On6UpyimtWg8338Mdp9XoUxJs4KC6/H6toULZGMp03ifK3XKQg9jlps+JBs0oc+GlBPA14weD7JWYaUjuGKZ+FIdR4jU1tABiVoQbRo8Cx1b2dSteYrL+8IN/KOiuAvbN6xCvi9luvLtdwVrdhiOaPw/Q0JO4D6ir+aBTp23VmNpo9nWeMH9zBI3LSsHksrSGSEFJSCh80yh85qwuOhCt7GtRIFsIyA+eWJC6dK3THsiq1bMd0cHd8Pv3NRxcrY66gYUFeXDJe/Rgyl6QmGxsLGkRgL8yMMLEBTQN23nGTkimVgdI3ZHMAiytQKleyZv6BbHEPffluX2dsfZyjS8b+1ncXl36cYKfjXlPVaKESy4Z6pH3YqokF/rmY6ukiljVKIxroMhR8Mcn2Dr0FJzgRTPBNmH/OwTcCeSZGGt/ef3T6QqcdQpnzXZ8nHb/l+BYY00QrOCNhZ7XnAxEgkFchy0fTBzIEHLaGVLF1avKq/70JXNNN1iNOUIZqPiSRnrRt3+SOq/4+FLCQSBdYxlwAbflNpInR1dCP+pqYu/ze6NGE4qWLqITBoXVoafglOYayVdk2AYKypZB/cq5BPFQbY6p7f0xez94Y12Hv/PBxVaIlZ2Gi+WDAq/vcDrrqvQ67XkJUbUsoDftRekYljkOhj7eP3YJR+TbWd+o9lueDin27pvLOFXfl5VUI4vLgB9/KUDIhGh6L85bcOPbMG7Rzd/pLt6D7/WtUcD+iv1aq6 X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 0a4833d6-db59-4619-6bdc-08d899528e33 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:32.6297 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4fG8HLHgXfBb1IaOioE2OVzFrBm+gmtx3qIDASZYTluQeKCL1SpA5SDR/XRcClzLzglDu/cZo2AN6cVnoEXIQl0FGRYAc4TBeDNgakq55zQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The translation from the ucc_geth_num_of_threads enum value to the actual count can be written somewhat more compactly with a small lookup table, allowing us to replace the four switch statements. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 100 +++++----------------- 1 file changed, 22 insertions(+), 78 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 3aebea191b52..a26d1feb7dab 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -70,6 +70,20 @@ static struct { module_param_named(debug, debug.msg_enable, int, 0); MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 0xffff=all)"); +static int ucc_geth_thread_count(enum ucc_geth_num_of_threads idx) +{ + static const u8 count[] = { + [UCC_GETH_NUM_OF_THREADS_1] = 1, + [UCC_GETH_NUM_OF_THREADS_2] = 2, + [UCC_GETH_NUM_OF_THREADS_4] = 4, + [UCC_GETH_NUM_OF_THREADS_6] = 6, + [UCC_GETH_NUM_OF_THREADS_8] = 8, + }; + if (idx >= ARRAY_SIZE(count)) + return 0; + return count[idx]; +} + static const struct ucc_geth_info ugeth_primary_info = { .uf_info = { .rtsm = UCC_FAST_SEND_IDLES_BETWEEN_FRAMES, @@ -668,32 +682,12 @@ static void dump_regs(struct ucc_geth_private *ugeth) in_be32(&ugeth->ug_regs->scam)); if (ugeth->p_thread_data_tx) { - int numThreadsTxNumerical; - switch (ugeth->ug_info->numThreadsTx) { - case UCC_GETH_NUM_OF_THREADS_1: - numThreadsTxNumerical = 1; - break; - case UCC_GETH_NUM_OF_THREADS_2: - numThreadsTxNumerical = 2; - break; - case UCC_GETH_NUM_OF_THREADS_4: - numThreadsTxNumerical = 4; - break; - case UCC_GETH_NUM_OF_THREADS_6: - numThreadsTxNumerical = 6; - break; - case UCC_GETH_NUM_OF_THREADS_8: - numThreadsTxNumerical = 8; - break; - default: - numThreadsTxNumerical = 0; - break; - } + int count = ucc_geth_thread_count(ugeth->ug_info->numThreadsTx); pr_info("Thread data TXs:\n"); pr_info("Base address: 0x%08x\n", (u32)ugeth->p_thread_data_tx); - for (i = 0; i < numThreadsTxNumerical; i++) { + for (i = 0; i < count; i++) { pr_info("Thread data TX[%d]:\n", i); pr_info("Base address: 0x%08x\n", (u32)&ugeth->p_thread_data_tx[i]); @@ -702,32 +696,12 @@ static void dump_regs(struct ucc_geth_private *ugeth) } } if (ugeth->p_thread_data_rx) { - int numThreadsRxNumerical; - switch (ugeth->ug_info->numThreadsRx) { - case UCC_GETH_NUM_OF_THREADS_1: - numThreadsRxNumerical = 1; - break; - case UCC_GETH_NUM_OF_THREADS_2: - numThreadsRxNumerical = 2; - break; - case UCC_GETH_NUM_OF_THREADS_4: - numThreadsRxNumerical = 4; - break; - case UCC_GETH_NUM_OF_THREADS_6: - numThreadsRxNumerical = 6; - break; - case UCC_GETH_NUM_OF_THREADS_8: - numThreadsRxNumerical = 8; - break; - default: - numThreadsRxNumerical = 0; - break; - } + int count = ucc_geth_thread_count(ugeth->ug_info->numThreadsRx); pr_info("Thread data RX:\n"); pr_info("Base address: 0x%08x\n", (u32)ugeth->p_thread_data_rx); - for (i = 0; i < numThreadsRxNumerical; i++) { + for (i = 0; i < count; i++) { pr_info("Thread data RX[%d]:\n", i); pr_info("Base address: 0x%08x\n", (u32)&ugeth->p_thread_data_rx[i]); @@ -2315,45 +2289,15 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) uf_regs = uccf->uf_regs; ug_regs = ugeth->ug_regs; - switch (ug_info->numThreadsRx) { - case UCC_GETH_NUM_OF_THREADS_1: - numThreadsRxNumerical = 1; - break; - case UCC_GETH_NUM_OF_THREADS_2: - numThreadsRxNumerical = 2; - break; - case UCC_GETH_NUM_OF_THREADS_4: - numThreadsRxNumerical = 4; - break; - case UCC_GETH_NUM_OF_THREADS_6: - numThreadsRxNumerical = 6; - break; - case UCC_GETH_NUM_OF_THREADS_8: - numThreadsRxNumerical = 8; - break; - default: + numThreadsRxNumerical = ucc_geth_thread_count(ug_info->numThreadsRx); + if (!numThreadsRxNumerical) { if (netif_msg_ifup(ugeth)) pr_err("Bad number of Rx threads value\n"); return -EINVAL; } - switch (ug_info->numThreadsTx) { - case UCC_GETH_NUM_OF_THREADS_1: - numThreadsTxNumerical = 1; - break; - case UCC_GETH_NUM_OF_THREADS_2: - numThreadsTxNumerical = 2; - break; - case UCC_GETH_NUM_OF_THREADS_4: - numThreadsTxNumerical = 4; - break; - case UCC_GETH_NUM_OF_THREADS_6: - numThreadsTxNumerical = 6; - break; - case UCC_GETH_NUM_OF_THREADS_8: - numThreadsTxNumerical = 8; - break; - default: + numThreadsTxNumerical = ucc_geth_thread_count(ug_info->numThreadsTx); + if (!numThreadsTxNumerical) { if (netif_msg_ifup(ugeth)) pr_err("Bad number of Tx threads value\n"); return -EINVAL; From patchwork Sat Dec 5 19:17:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411593 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=Gl4CpnYx; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKDj4Hwrz9sWQ for ; Sun, 6 Dec 2020 06:21:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727599AbgLETVA (ORCPT ); Sat, 5 Dec 2020 14:21:00 -0500 Received: from mail-am6eur05on2134.outbound.protection.outlook.com ([40.107.22.134]:19809 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727459AbgLETUp (ORCPT ); Sat, 5 Dec 2020 14:20:45 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cPPvydt6oqU6Bk4Y8akwtICqYGQgoAhrxMC6bBwsMkiMlpPl1s549Vl8GT2SDTFms9f7C0kk4kqzp9GBaawcEibIYWmc3MsXeTc15tt4qWyDcvj9Q2cHisjpgnden7bqorFCqsopH2jBYCdYIhDs65zKY4lCzwZoAql7kBV0wCCNvihgvPksBWFVT+P9m9qFuIlsfTmsNN021G0TgAFdi5ySE/6ZRN5zf9Oktq15WkeqFAgob3y2G8t5jW2nXm4+VGT9v98z5sQ8hlcDcjNJtExGDAeyiE0vgXrp5uqYxVvXOvUHzTiWKFa7l0pzbeQsawzGVU+2waCl5Y6tndmTVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ID8pKmvEHso/KX3ER46Yz24FsRfomcqLd/RbPmPbSeo=; b=DdNCu/vF5Ifo/YM1tJ0qI9p9uyHJp3AlLG4yF9llziOClgBMJp3VXf0vjreHEvsheNWOzgcCX6kx54l8HGqihQXKXxedaudcoN8YwyGtGOvBq7Sm7ZiRP/Dx+OUJukPt47PYpYpHwbNojfSv42CQPELdpYgLrf7IEm8P9Dd6FKeN2cmpeyTlR1JYNzLH2BcWJpRddoXE6Cs5IbfQf7FutY+1sxK1JMMIOe4bDCqjK10zJGYd8+85s2ubr3DVpINP2i7WzbtePqPUe+4vI1lTdnPel2MpUaGXcvPrk2K7EIPRM4ynju3Y51A21FbWPkPhnYjvinbz1wNs/3+V865HuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ID8pKmvEHso/KX3ER46Yz24FsRfomcqLd/RbPmPbSeo=; b=Gl4CpnYxgPh+GcE4GdK5vH2pMtjolDZikS/1GFtK4RXqq6aeetpkH8n+BiDcNuj4FFFtvTt7yRfHWggmX54x0fA0pqrnAryHgvOvONaHtpY8PSj/etrS0mwD5yEORx+bUJ/xHLp+rn+tkTAHysKLtipW6QD8gbYvh+QB/ORyT5U= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:33 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:33 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 19/20] ethernet: ucc_geth: inform the compiler that numQueues is always 1 Date: Sat, 5 Dec 2020 20:17:42 +0100 Message-Id: <20201205191744.7847-20-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b71f8df4-0150-43fd-2a29-08d899528eb9 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZPfw0UduCwAbCzL9RZ3af525rOyOQnCZD9h3kjZqAsdBJBidRb3Poat5HX98C6YXmVRvcDqCQcY8eVE28dWTNvlVgdJBx/bdF/gdVz9JFnzgjsftoQ+LQkqpnRbUMiv0sYKKJN6irXgnwR2kzBkgnUdt2j7tuwz//HHpM6HU6NOidT7uXV/05Ucqt8taUwCeWDtqb5AfbHO06SbDDQHxuyY3l2FiOG8Q6bkpEWl3kbuThQ0ibI6hXzFTaN1usEHA/miJCZA9pHYZKfyViS8aYAlSKZTR9j3PjyAaRwPtdMkr8dtmUN9iEOYZnMLblyWPIPusXm7dO+IaPOccetXBhg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(19627235002)(4326008)(8976002)(5660300002)(1076003)(30864003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: o0ficTIUPQX3ctAGSBwWt/XE35tFx7ptwdEl3TcSuk9WPe8gwQ4BNy0rg/VGJ9qhnnpIKPKGZg6k4qMJ3xKT1ZqZUDuq3mFWszzi7Jra3uJxi1aIxB2ea0abMHSD2uZd561vZd2ZENhswHgFtx/REAIojSiu+vOqGzujc+3mitsgceEBVwp4th12aWvnh4AuZj4u9jd+H3ekJ8tomNh/nj274GYSgV1qPH2O5ru4chm3uUwn0Wgea12LBO6lRaWJfE7mu2VtcLoNZgakJbUD+rtmXMuI6DqMD8UaCjCiEhY/XwXOySHkisULnLNdAJMeo0aaoylM8mxfRX+YJJoTNKMn9TLePhU6nbibq7tz079LKEg9FEbu+Xnbxt+KRJ+0ac3bcVV+jqSXfhDz+g6yuila79A1UHCa/O/Ob3YTV6YMag/iPdhZXoBSEnsbcQ2pyiJ6HVJCx5qQ0nPrUHGry0Mg4ewnfiuscssXzXx9Yski7/qZGpFCWAil6uOT7l8jUwlm5f8zSQjINqKDAl7H4RJdWyyvlwAjtidDvcw6A7qVOWF46t/iL/gb1UsEQ6bmpt7Bz/JLB/OZuUF1nQ9U1TERTKHEV7ssQOySe0vUOFwboHYz1n0QUTz1X+AZz5Lcp+mEKEhBMPCSvEOYVJ5aptId/t+jqgIO4+RAeCmP7gPJ3bwOXevSH7kPEhb5RG2Hqnc3YSh6KLLy7f5W+6UtGmRA9GlYvCMNJ/S1Z/KQjXQirqGazUMmn+CqY1COub51tkGk884lGq13LMa0yOGDGgNk8j/bRaJb8tzkg8jKN4taDwch1cwaa/ytmU+5iO0/cmC6wknty3C53kkwJ+4tLt5YullH8C5leeFE21lyMvX1fMbbQXCZRzI8MENqL0RsK1Nu0gvv0TuNskkjlFAENkCYZMGymwJj+z5gcxxidLdiu6gUCu4Q8WPxCq1Pv+p0JfHgJms9DO/kgQDIkC+DO+LBDCEWxHBLwFj52J8Z5iDd1a4yhEqNVnKmhESCxqLY X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: b71f8df4-0150-43fd-2a29-08d899528eb9 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:33.5152 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1eEWfeJ9FbGswdLcql50q19m/KGP6Uq17+VQAWK/uL3Z9gPHDWWoBn4MbdOirZMLq9UmydWGGQ1ad7YiVD0ssEnFHp/8Wn6tPIEsxA/aI2c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The numQueuesTx and numQueuesRx members of struct ucc_geth_info are never set to anything but 1, and never have been. It's unclear how well the code supporting multiple queues would work. Until somebody wants to play with enabling that, help the compiler eliminate a lot of dead code and loops that are not really loops by creating static inline helpers. If and when the numQueuesTx/numQueuesRx fields are re-introduced, it suffices to update those helper to return the appropriate field. This cuts the .text segment of ucc_geth.o by 8%. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 76 +++++++++++++---------- drivers/net/ethernet/freescale/ucc_geth.h | 2 - 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index a26d1feb7dab..3cad2255bd97 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -84,6 +84,16 @@ static int ucc_geth_thread_count(enum ucc_geth_num_of_threads idx) return count[idx]; } +static inline int ucc_geth_tx_queues(const struct ucc_geth_info *info) +{ + return 1; +} + +static inline int ucc_geth_rx_queues(const struct ucc_geth_info *info) +{ + return 1; +} + static const struct ucc_geth_info ugeth_primary_info = { .uf_info = { .rtsm = UCC_FAST_SEND_IDLES_BETWEEN_FRAMES, @@ -103,8 +113,6 @@ static const struct ucc_geth_info ugeth_primary_info = { .tcrc = UCC_FAST_16_BIT_CRC, .synl = UCC_FAST_SYNC_LEN_NOT_USED, }, - .numQueuesTx = 1, - .numQueuesRx = 1, .extendedFilteringChainPointer = ((uint32_t) NULL), .typeorlen = 3072 /*1536 */ , .nonBackToBackIfgPart1 = 0x40, @@ -569,7 +577,7 @@ static void dump_bds(struct ucc_geth_private *ugeth) int i; int length; - for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { + for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { if (ugeth->p_tx_bd_ring[i]) { length = (ugeth->ug_info->bdRingLenTx[i] * @@ -578,7 +586,7 @@ static void dump_bds(struct ucc_geth_private *ugeth) mem_disp(ugeth->p_tx_bd_ring[i], length); } } - for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { if (ugeth->p_rx_bd_ring[i]) { length = (ugeth->ug_info->bdRingLenRx[i] * @@ -876,7 +884,7 @@ static void dump_regs(struct ucc_geth_private *ugeth) if (ugeth->p_send_q_mem_reg) { pr_info("Send Q memory registers:\n"); pr_info("Base address: 0x%08x\n", (u32)ugeth->p_send_q_mem_reg); - for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { + for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { pr_info("SQQD[%d]:\n", i); pr_info("Base address: 0x%08x\n", (u32)&ugeth->p_send_q_mem_reg->sqqd[i]); @@ -908,7 +916,7 @@ static void dump_regs(struct ucc_geth_private *ugeth) pr_info("RX IRQ coalescing tables:\n"); pr_info("Base address: 0x%08x\n", (u32)ugeth->p_rx_irq_coalescing_tbl); - for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { pr_info("RX IRQ coalescing table entry[%d]:\n", i); pr_info("Base address: 0x%08x\n", (u32)&ugeth->p_rx_irq_coalescing_tbl-> @@ -930,7 +938,7 @@ static void dump_regs(struct ucc_geth_private *ugeth) if (ugeth->p_rx_bd_qs_tbl) { pr_info("RX BD QS tables:\n"); pr_info("Base address: 0x%08x\n", (u32)ugeth->p_rx_bd_qs_tbl); - for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { pr_info("RX BD QS table[%d]:\n", i); pr_info("Base address: 0x%08x\n", (u32)&ugeth->p_rx_bd_qs_tbl[i]); @@ -1806,7 +1814,7 @@ static void ucc_geth_free_rx(struct ucc_geth_private *ugeth) ug_info = ugeth->ug_info; uf_info = &ug_info->uf_info; - for (i = 0; i < ugeth->ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ugeth->ug_info); i++) { if (ugeth->p_rx_bd_ring[i]) { /* Return existing data buffers in ring */ bd = ugeth->p_rx_bd_ring[i]; @@ -1846,7 +1854,7 @@ static void ucc_geth_free_tx(struct ucc_geth_private *ugeth) ug_info = ugeth->ug_info; uf_info = &ug_info->uf_info; - for (i = 0; i < ugeth->ug_info->numQueuesTx; i++) { + for (i = 0; i < ucc_geth_tx_queues(ugeth->ug_info); i++) { bd = ugeth->p_tx_bd_ring[i]; if (!bd) continue; @@ -2024,7 +2032,7 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) uf_info = &ug_info->uf_info; /* Rx BD lengths */ - for (i = 0; i < ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { if ((ug_info->bdRingLenRx[i] < UCC_GETH_RX_BD_RING_SIZE_MIN) || (ug_info->bdRingLenRx[i] % UCC_GETH_RX_BD_RING_SIZE_ALIGNMENT)) { @@ -2035,7 +2043,7 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) } /* Tx BD lengths */ - for (i = 0; i < ug_info->numQueuesTx; i++) { + for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) { if (ug_info->bdRingLenTx[i] < UCC_GETH_TX_BD_RING_SIZE_MIN) { if (netif_msg_probe(ugeth)) pr_err("Tx BD ring length must be no smaller than 2\n"); @@ -2052,14 +2060,14 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) } /* num Tx queues */ - if (ug_info->numQueuesTx > NUM_TX_QUEUES) { + if (ucc_geth_tx_queues(ug_info) > NUM_TX_QUEUES) { if (netif_msg_probe(ugeth)) pr_err("number of tx queues too large\n"); return -EINVAL; } /* num Rx queues */ - if (ug_info->numQueuesRx > NUM_RX_QUEUES) { + if (ucc_geth_rx_queues(ug_info) > NUM_RX_QUEUES) { if (netif_msg_probe(ugeth)) pr_err("number of rx queues too large\n"); return -EINVAL; @@ -2067,7 +2075,7 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) /* l2qt */ for (i = 0; i < UCC_GETH_VLAN_PRIORITY_MAX; i++) { - if (ug_info->l2qt[i] >= ug_info->numQueuesRx) { + if (ug_info->l2qt[i] >= ucc_geth_rx_queues(ug_info)) { if (netif_msg_probe(ugeth)) pr_err("VLAN priority table entry must not be larger than number of Rx queues\n"); return -EINVAL; @@ -2076,7 +2084,7 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) /* l3qt */ for (i = 0; i < UCC_GETH_IP_PRIORITY_MAX; i++) { - if (ug_info->l3qt[i] >= ug_info->numQueuesRx) { + if (ug_info->l3qt[i] >= ucc_geth_rx_queues(ug_info)) { if (netif_msg_probe(ugeth)) pr_err("IP priority table entry must not be larger than number of Rx queues\n"); return -EINVAL; @@ -2099,10 +2107,10 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) /* Generate uccm_mask for receive */ uf_info->uccm_mask = ug_info->eventRegMask & UCCE_OTHER;/* Errors */ - for (i = 0; i < ug_info->numQueuesRx; i++) + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) uf_info->uccm_mask |= (UCC_GETH_UCCE_RXF0 << i); - for (i = 0; i < ug_info->numQueuesTx; i++) + for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) uf_info->uccm_mask |= (UCC_GETH_UCCE_TXB0 << i); /* Initialize the general fast UCC block. */ if (ucc_fast_init(uf_info, &ugeth->uccf)) { @@ -2141,7 +2149,7 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) uf_info = &ug_info->uf_info; /* Allocate Tx bds */ - for (j = 0; j < ug_info->numQueuesTx; j++) { + for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { u32 align = UCC_GETH_TX_BD_RING_ALIGNMENT; /* Allocate in multiple of @@ -2174,7 +2182,7 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) } /* Init Tx bds */ - for (j = 0; j < ug_info->numQueuesTx; j++) { + for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { /* Setup the skbuff rings */ ugeth->tx_skbuff[j] = kcalloc(ugeth->ug_info->bdRingLenTx[j], @@ -2215,7 +2223,7 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) uf_info = &ug_info->uf_info; /* Allocate Rx bds */ - for (j = 0; j < ug_info->numQueuesRx; j++) { + for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { u32 align = UCC_GETH_RX_BD_RING_ALIGNMENT; length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); @@ -2234,7 +2242,7 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) } /* Init Rx bds */ - for (j = 0; j < ug_info->numQueuesRx; j++) { + for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { /* Setup the skbuff rings */ ugeth->rx_skbuff[j] = kcalloc(ugeth->ug_info->bdRingLenRx[j], @@ -2437,7 +2445,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* SQPTR */ /* Size varies with number of Tx queues */ ugeth->send_q_mem_reg_offset = - qe_muram_alloc(ug_info->numQueuesTx * + qe_muram_alloc(ucc_geth_tx_queues(ug_info) * sizeof(struct ucc_geth_send_queue_qd), UCC_GETH_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT); if (IS_ERR_VALUE(ugeth->send_q_mem_reg_offset)) { @@ -2453,7 +2461,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Setup the table */ /* Assume BD rings are already established */ - for (i = 0; i < ug_info->numQueuesTx; i++) { + for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) { endOfRing = ugeth->p_tx_bd_ring[i] + (ug_info->bdRingLenTx[i] - 1) * sizeof(struct qe_bd); @@ -2466,7 +2474,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* schedulerbasepointer */ - if (ug_info->numQueuesTx > 1) { + if (ucc_geth_tx_queues(ug_info) > 1) { /* scheduler exists only if more than 1 tx queue */ ugeth->scheduler_offset = qe_muram_alloc(sizeof(struct ucc_geth_scheduler), @@ -2529,11 +2537,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* temoder */ /* Already has speed set */ - if (ug_info->numQueuesTx > 1) + if (ucc_geth_tx_queues(ug_info) > 1) temoder |= TEMODER_SCHEDULER_ENABLE; if (ug_info->ipCheckSumGenerate) temoder |= TEMODER_IP_CHECKSUM_GENERATE; - temoder |= ((ug_info->numQueuesTx - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); + temoder |= ((ucc_geth_tx_queues(ug_info) - 1) << TEMODER_NUM_OF_QUEUES_SHIFT); out_be16(&ugeth->p_tx_glbl_pram->temoder, temoder); /* Function code register value to be used later */ @@ -2597,7 +2605,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Size varies with number of Rx queues */ ugeth->rx_irq_coalescing_tbl_offset = - qe_muram_alloc(ug_info->numQueuesRx * + qe_muram_alloc(ucc_geth_rx_queues(ug_info) * sizeof(struct ucc_geth_rx_interrupt_coalescing_entry) + 4, UCC_GETH_RX_INTERRUPT_COALESCING_ALIGNMENT); if (IS_ERR_VALUE(ugeth->rx_irq_coalescing_tbl_offset)) { @@ -2613,7 +2621,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ugeth->rx_irq_coalescing_tbl_offset); /* Fill interrupt coalescing table */ - for (i = 0; i < ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { out_be32(&ugeth->p_rx_irq_coalescing_tbl->coalescingentry[i]. interruptcoalescingmaxvalue, ug_info->interruptcoalescingmaxvalue[i]); @@ -2662,7 +2670,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* RBDQPTR */ /* Size varies with number of Rx queues */ ugeth->rx_bd_qs_tbl_offset = - qe_muram_alloc(ug_info->numQueuesRx * + qe_muram_alloc(ucc_geth_rx_queues(ug_info) * (sizeof(struct ucc_geth_rx_bd_queues_entry) + sizeof(struct ucc_geth_rx_prefetched_bds)), UCC_GETH_RX_BD_QUEUES_ALIGNMENT); @@ -2679,7 +2687,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) /* Setup the table */ /* Assume BD rings are already established */ - for (i = 0; i < ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { out_be32(&ugeth->p_rx_bd_qs_tbl[i].externalbdbaseptr, (u32) virt_to_phys(ugeth->p_rx_bd_ring[i])); /* rest of fields handled by QE */ @@ -2702,7 +2710,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ug_info-> vlanOperationNonTagged << REMODER_VLAN_OPERATION_NON_TAGGED_SHIFT; remoder |= ug_info->rxQoSMode << REMODER_RX_QOS_MODE_SHIFT; - remoder |= ((ug_info->numQueuesRx - 1) << REMODER_NUM_OF_QUEUES_SHIFT); + remoder |= ((ucc_geth_rx_queues(ug_info) - 1) << REMODER_NUM_OF_QUEUES_SHIFT); if (ug_info->ipCheckSumCheck) remoder |= REMODER_IP_CHECKSUM_CHECK; if (ug_info->ipAddressAlignment) @@ -2861,7 +2869,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) } /* Load Rx bds with buffers */ - for (i = 0; i < ug_info->numQueuesRx; i++) { + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) { if ((ret_val = rx_bd_buffer_set(ugeth, (u8) i)) != 0) { if (netif_msg_ifup(ugeth)) pr_err("Can not fill Rx bds with buffers\n"); @@ -3132,12 +3140,12 @@ static int ucc_geth_poll(struct napi_struct *napi, int budget) /* Tx event processing */ spin_lock(&ugeth->lock); - for (i = 0; i < ug_info->numQueuesTx; i++) + for (i = 0; i < ucc_geth_tx_queues(ug_info); i++) ucc_geth_tx(ugeth->ndev, i); spin_unlock(&ugeth->lock); howmany = 0; - for (i = 0; i < ug_info->numQueuesRx; i++) + for (i = 0; i < ucc_geth_rx_queues(ug_info); i++) howmany += ucc_geth_rx(ugeth, i, budget - howmany); if (howmany < budget) { diff --git a/drivers/net/ethernet/freescale/ucc_geth.h b/drivers/net/ethernet/freescale/ucc_geth.h index be47fa8ced15..6539fed9cc22 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.h +++ b/drivers/net/ethernet/freescale/ucc_geth.h @@ -1077,8 +1077,6 @@ struct ucc_geth_tad_params { /* GETH protocol initialization structure */ struct ucc_geth_info { struct ucc_fast_info uf_info; - u8 numQueuesTx; - u8 numQueuesRx; int ipCheckSumCheck; int ipCheckSumGenerate; int rxExtendedFiltering; From patchwork Sat Dec 5 19:17:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1411596 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=gsYs5U2Q; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CpKFQ1d3fz9sWT for ; Sun, 6 Dec 2020 06:21:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727832AbgLETVa (ORCPT ); Sat, 5 Dec 2020 14:21:30 -0500 Received: from mail-am6eur05on2101.outbound.protection.outlook.com ([40.107.22.101]:29825 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727617AbgLETVH (ORCPT ); Sat, 5 Dec 2020 14:21:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cYbRdXTtn+rtfBTTrOryib5COwUcIO4+Vzp0vm/Ej5wppFZBeOwkobitCZ7b4Vf8FzESkk9dnMBDRDOi6M+2plCDp+Yl8suqmAPYpKJ42rIGk2kqJi8CREYAEgZgTb1igftaHtoUPSgFARXOfzrMLdik3R6AgtaFSv+cnlic3J6jayfQ0C1qUv+rUwQlcCrC2nLuUYhku22yHlCrQTH/JsLn4H/EjG+i/zHFYNAYgG0dOLwjyrwUHw2pD8IEJzF1yY4V6cwHNK1Ov4/URR68rqri+LxF+AIKh8w0mKZvMB+EaHIvQsUchE0OE9udEn9nwW3Py7G+/UxVeO3SFFRTwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BeN2AlPjU0c5pg7bkGqjZD3dGtPUguGMwruy8BlWpaw=; b=jUfjajfYncMlr1Itf5y5vyj6qY3xlVsNhbdVyU4AmzQjdQFd801+qX5n5OkRd/xExVSQiZpdhwqT0LHWgwABbENEOl3hEhntA3Im/J/u1rrftYtAYGg6m/CzkLCMJmsuuA4xG8tAL5wtkw3NwyvEO0RAehobnAzMjKna0olL4gzAu8ozRrSFrN3L/yWFUEVTHonXOXCUzHeECQ/eTnA4OXERp5vQcbFlSb+dvS8emxy2NdGtl8NAgVzjfm+8U5sg3EWEIj2bBhqktnGh8Tj1vlmlM6uvfdBvq2S2mHuou/rlNg775POi1TJYHhUfX/bCcU7d1TxsuTXaXv4i5USpYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BeN2AlPjU0c5pg7bkGqjZD3dGtPUguGMwruy8BlWpaw=; b=gsYs5U2QdfYZ8Ejx4KReH3+AMNPNswMhtgoeKpr6rqR7QMF6hhhrHeTeSpC69c8nlr9UfPjkBGpLVo/3/GZVjaR+oCNq8pAyhFredpxorlqf1QMiMHAuv6ZuanTxOX9GEM5/npYpQcrmRjec0/GJbwvZCbjyaew4CKiMP6fBZBQ= Authentication-Results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM4PR1001MB1363.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:200:99::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.19; Sat, 5 Dec 2020 19:18:34 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::9068:c899:48f:a8e3%6]) with mapi id 15.20.3632.021; Sat, 5 Dec 2020 19:18:34 +0000 From: Rasmus Villemoes To: Li Yang , "David S. Miller" , Jakub Kicinski Cc: Zhao Qiang , Vladimir Oltean , Rasmus Villemoes , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 20/20] ethernet: ucc_geth: simplify rx/tx allocations Date: Sat, 5 Dec 2020 20:17:43 +0100 Message-Id: <20201205191744.7847-21-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> References: <20201205191744.7847-1-rasmus.villemoes@prevas.dk> X-Originating-IP: [5.186.115.188] X-ClientProxiedBy: AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.115.188) by AM5PR0701CA0063.eurprd07.prod.outlook.com (2603:10a6:203:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.5 via Frontend Transport; Sat, 5 Dec 2020 19:18:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e6c00743-aea5-45a8-0211-08d899528f45 X-MS-TrafficTypeDiagnostic: AM4PR1001MB1363: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sc8AUr1hzFhSHpdVcWhFHT6JQN1tFHkJ7OC7KuEtk98t9r2DfmJLGXtU7OFvhdarzyyYT08R3kCRu9377v1Fc0pg0Xov7Ku6GviSnuVwP71oTVk5vLDXoQFUtvOqUUD43hxzwSRlzjI8d/W6ESDr4fOVcEr9ujgN5PCFRKmP4iRm2j3h0cETK/b7CVt6eYr9novJhWrLVj3ct6XNuiZEcfNxRG1K+yY0CGr6q1AjFhCZpMSRl4JuGe7D/FJZY+IR0nb+8fDK98xJC/FUccq/EykzugCob680J+rI31XSfv4VPo0O6hsYV6ZxPwoBAXHmGZ8fbMulQTfv9tkC+q6/6Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(396003)(39840400004)(346002)(136003)(366004)(376002)(2616005)(2906002)(8676002)(8936002)(83380400001)(52116002)(36756003)(66476007)(66946007)(66556008)(4326008)(8976002)(5660300002)(1076003)(6486002)(44832011)(6512007)(186003)(26005)(6666004)(110136005)(316002)(86362001)(478600001)(16526019)(54906003)(956004)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: YJLpbRyFUvtyvCxGmp4CI4TtwLKuf0jpAqkJ0XaLCk82LkE4h98RfEjJWvTxLrGuNOKpr9zIP5NoLfmKK/Yl8zeIxP7DQJrMjOZ8ighkmL5HPiIbbRGqXe3hMXbw5P7xL/5BSSifYbI+n2jNFxEzeQ+mMnkum7R2GY/t1b3GigsuYK7q+13P8rHAnLSnGDT3wamPhNp8vZg2zQkJH0QZe+eZf2lTx34V30a/Z+VMdq3YayO+iQtvz/ZrekJ4Y27M5Y0eAzkXIh7nyY1OPVh2gakzbklkkfa6LQh9pb/jVVORz3CIsO8dKR9665kYvWBtVXUDOcv18FQOCPyZfj6lV+6YRfJU4rMOT0hhXJPBLFd9Ax7sOMVQKGdgNBjBOuspIR0ENlgEKryq7MjQWpfzwR89Srlw7tI3XV3fngsLRafIp4QpaYDdDaZG6DCXaSW3cTVnA2zcTO4hk2Y4ff96rsGdAmhRgYqH82U3gnjP+CsVUp8bZzOqAQ3oXVKnsb0FDs1YTJV+AVe6s8MqqnSiqNi7OAmqZru9WoTLpw3SpL8lGnJtRalzKHC3UM9foWRC8/OyhapuLC4ELsNz2zMpA3QyoUabgMshn41J7XglJpbBjlQhsbZ7MfaaUn4C1I6QrN8sks863hLVCrJCjZ20kby0QLVXVRFXV1+PNZhMrvULB+JF9KaZktT2MzRUpjs94VTgiXNkKpDQ7iC6wsJUZR4AxON2nzJz/mNwuz0ZRuD2eSD0I7b4prUD8PMEwUFtkywU6P8+zfP5mygxGCn/EkGAnBIjn3DW8eZ6Vq9qevFpcXirZHwJgslBIyal+z4ajDWQ1kGE05i3+8A6rXVeZKplBmVtMwq8hB6bwlVY0XpTFX1MLH5InHyxzHFgnUg/OZD+sjnxX+Z8uNQZ9y36wBSqq39ahEHsWhfAlFlIxeNFQ7qWCjzkx6TMD5OmRRwMhaJFcAHUubOpXsaBq1PQO0J5eE2wzqV+Qb0feh+VwMLACy25nrl1LPG28EiTX26x X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: e6c00743-aea5-45a8-0211-08d899528f45 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2020 19:18:34.4196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gaBf0nuCAQmlVhRLl6mylJxCGPQB66sJAef1YOVA5tEGxVyxDiV4hUj3kwXgTSnGUTCafCy5U4YeMw1TNnEIaj+8de3Fe/syx47CRZcBVqg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR1001MB1363 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since kmalloc() is nowadays [1] guaranteed to return naturally aligned (i.e., aligned to the size itself) memory for power-of-2 sizes, we don't need to over-allocate the align amount, compute an aligned address within the allocation, and (for later freeing) also storing the original pointer [2]. Instead, just round up the length we want to allocate to the alignment requirements, then round that up to the next power of 2. In theory, this could allocate up to about twice as much memory as we needed. In practice, (a) kmalloc() would in most cases anyway return a power-of-2-sized allocation and (b) with the default values of the bdRingLen[RT]x fields, the length is already itself a power of 2 greater than the alignment. So we actually end up saving memory compared to the current situtation (e.g. for tx, we currently allocate 128+32 bytes, which kmalloc() likely rounds up to 192 or 256; with this patch, we just allocate 128 bytes.) Also struct ucc_geth_private becomes a little smaller. [1] 59bb47985c1d ("mm, sl[aou]b: guarantee natural alignment for kmalloc(power-of-two)") [2] That storing was anyway done in a u32, which works on 32 bit machines, but is not very elegant and certainly makes a reader of the code pause for a while. Signed-off-by: Rasmus Villemoes --- drivers/net/ethernet/freescale/ucc_geth.c | 50 ++++++++--------------- drivers/net/ethernet/freescale/ucc_geth.h | 2 - 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 3cad2255bd97..a4ed9209513e 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -1835,7 +1835,7 @@ static void ucc_geth_free_rx(struct ucc_geth_private *ugeth) kfree(ugeth->rx_skbuff[i]); - kfree((void *)ugeth->rx_bd_ring_offset[i]); + kfree(ugeth->p_rx_bd_ring[i]); ugeth->p_rx_bd_ring[i] = NULL; } } @@ -1872,10 +1872,8 @@ static void ucc_geth_free_tx(struct ucc_geth_private *ugeth) kfree(ugeth->tx_skbuff[i]); - if (ugeth->p_tx_bd_ring[i]) { - kfree((void *)ugeth->tx_bd_ring_offset[i]); - ugeth->p_tx_bd_ring[i] = NULL; - } + kfree(ugeth->p_tx_bd_ring[i]); + ugeth->p_tx_bd_ring[i] = NULL; } } @@ -2150,25 +2148,15 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) /* Allocate Tx bds */ for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { - u32 align = UCC_GETH_TX_BD_RING_ALIGNMENT; - - /* Allocate in multiple of - UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT, - according to spec */ - length = ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) - / UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) - * UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; - if ((ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)) % - UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT) - length += UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT; - - ugeth->tx_bd_ring_offset[j] = - (u32) kmalloc((u32) (length + align), GFP_KERNEL); - - if (ugeth->tx_bd_ring_offset[j] != 0) - ugeth->p_tx_bd_ring[j] = - (u8 __iomem *)((ugeth->tx_bd_ring_offset[j] + - align) & ~(align - 1)); + u32 align = max(UCC_GETH_TX_BD_RING_ALIGNMENT, + UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT); + u32 alloc; + + length = ug_info->bdRingLenTx[j] * sizeof(struct qe_bd); + alloc = round_up(length, align); + alloc = roundup_pow_of_two(alloc); + + ugeth->p_tx_bd_ring[j] = kmalloc(alloc, GFP_KERNEL); if (!ugeth->p_tx_bd_ring[j]) { if (netif_msg_ifup(ugeth)) @@ -2176,9 +2164,7 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) return -ENOMEM; } /* Zero unused end of bd ring, according to spec */ - memset_io((void __iomem *)(ugeth->p_tx_bd_ring[j] + - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)), 0, - length - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)); + memset(ugeth->p_tx_bd_ring[j] + length, 0, alloc - length); } /* Init Tx bds */ @@ -2225,15 +2211,13 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) /* Allocate Rx bds */ for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { u32 align = UCC_GETH_RX_BD_RING_ALIGNMENT; + u32 alloc; length = ug_info->bdRingLenRx[j] * sizeof(struct qe_bd); - ugeth->rx_bd_ring_offset[j] = - (u32) kmalloc((u32) (length + align), GFP_KERNEL); - if (ugeth->rx_bd_ring_offset[j] != 0) - ugeth->p_rx_bd_ring[j] = - (u8 __iomem *)((ugeth->rx_bd_ring_offset[j] + - align) & ~(align - 1)); + alloc = round_up(length, align); + alloc = roundup_pow_of_two(alloc); + ugeth->p_rx_bd_ring[j] = kmalloc(alloc, GFP_KERNEL); if (!ugeth->p_rx_bd_ring[j]) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate memory for Rx bd rings\n"); diff --git a/drivers/net/ethernet/freescale/ucc_geth.h b/drivers/net/ethernet/freescale/ucc_geth.h index 6539fed9cc22..ccc4ca1ae9b6 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.h +++ b/drivers/net/ethernet/freescale/ucc_geth.h @@ -1182,9 +1182,7 @@ struct ucc_geth_private { struct ucc_geth_rx_bd_queues_entry __iomem *p_rx_bd_qs_tbl; u32 rx_bd_qs_tbl_offset; u8 __iomem *p_tx_bd_ring[NUM_TX_QUEUES]; - u32 tx_bd_ring_offset[NUM_TX_QUEUES]; u8 __iomem *p_rx_bd_ring[NUM_RX_QUEUES]; - u32 rx_bd_ring_offset[NUM_RX_QUEUES]; u8 __iomem *confBd[NUM_TX_QUEUES]; u8 __iomem *txBd[NUM_TX_QUEUES]; u8 __iomem *rxBd[NUM_RX_QUEUES];