From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CFA17C433F5 for ; Sat, 4 Dec 2021 23:01:26 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9D15982FD5; Sun, 5 Dec 2021 00:01:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="a5Y1xkeS"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8945B82A52; Sun, 5 Dec 2021 00:01:06 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on061d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::61d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 6A50682F8E for ; Sun, 5 Dec 2021 00:01:00 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=vladimir.oltean@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GmUH4lCVaXp1dhdOvUc9KqrId7HSDwV4bv/HCPT/joJh/zPK1DaaeiKkbArHnNsxC/OchvF2CjcAZsKRjzIaH/ylx+BUhyKo586GrlN2LEHFiUWinTvjOJkKSGXHa8j2dutwV0sy4v2ay0evz0qGo+0pja8A1yjrLNBGxfOGNfkqnG1+3/dfa3Rj+/nTgRu1taaa0vp/5jV4Y/w0mUzH69j+7u0i+mpRi7tYbC7xNjoUN3yeoTENebEuOAh3PmgrftV89hFF2dBKSu640uI5vKUKH9sJzMrjmoKu+2xSU3qvODEyg1H/au2PozJUPNZK+CbRJKTYGVlzKBbxsHvJ4w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZWwD4ijU2trXtiYTWI0QSOKGTe+bsklrzRj18hmcNfc=; b=kNMUogRtwdTG3BywqDrYudzmwDQIogbG/KKGc2mahYK00Xt8sJuwLjjYmdQRwuF1c1cy3HQwQZrY/7hFXlgqs6pb896fjyM/JCmT2URcXDkcJ3m3/ijnPmQJWbCTtNC6kZfAdNc51UghN5GVYbufW+F+oJJZHlQU7pTP70ThF0exve0mCxaHtrmujw8lXwwMJc0m0n7x4N3iuoV1tt62vZlwgo8nKoz6h25OVTrcUMUe5dc9EXQRiKAO852K01Q9iLGfrAhPXFWGfGMVACH+9T0NdUY3bHRivDd138ZPV9IunPQ0zi6sT9qa4/BioTb5d2K+JSC7ZsHPylxM2PEslg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZWwD4ijU2trXtiYTWI0QSOKGTe+bsklrzRj18hmcNfc=; b=a5Y1xkeSX/MASqHDfqOXyyjtdti7nrXBDhwOfqhQjSNmJRnnQNVFft+mFhP6YoUDIZiY8FLgVBsfrwpQGK4FVQHJMH8q+I+eGK69RYeWngF831W13Q/naVt0KGP71xT6WRHh6HpOuhJSEclYsxY4VhjI69Z49bnxG77fu+ke/8o= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by VI1PR0402MB3837.eurprd04.prod.outlook.com (2603:10a6:803:25::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Sat, 4 Dec 2021 23:00:57 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::796e:38c:5706:b802]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::796e:38c:5706:b802%3]) with mapi id 15.20.4755.021; Sat, 4 Dec 2021 23:00:57 +0000 From: Vladimir Oltean To: u-boot@lists.denx.de Cc: Joe Hershberger , Ramon Fried Subject: [PATCH 1/2] net: dsa: fix phydev->speed being uninitialized for the CPU port fixed PHY Date: Sun, 5 Dec 2021 01:00:34 +0200 Message-Id: <20211204230035.4136596-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211204230035.4136596-1-vladimir.oltean@nxp.com> References: <20211204230035.4136596-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: AM5PR0701CA0068.eurprd07.prod.outlook.com (2603:10a6:203:2::30) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 Received: from localhost.localdomain (188.25.173.50) by AM5PR0701CA0068.eurprd07.prod.outlook.com (2603:10a6:203:2::30) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Sat, 4 Dec 2021 23:00:47 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 32da2bf8-35b1-4c9a-9ee6-08d9b779e8e6 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3837: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f0WARojAtKG24PcXpkQnrJ5hVzqYFNi0NYnXsIiKIHeOUdIK7249tqvvHotCsLO0RrEPEQonbQ+cnoCDvR2sMaAN0RmqHZd5gmu1PgRSWh6MNzhhpj0oWHH5XYuKK0W0DX1Ki98FpeOBsTBvMzM6HzeE00751XRD9EwrVYEcLbeSBb5FuCQ+6tzEvCXedSIYnBi9Ckc0M3xXzpQEXzTCsF4o9dS7OsmeBRRcsK4hSF/Y+EGIVwWSGuQRpYC70jplTVk5LaRgDhcCjqOZm/A4O7xQNJqIwlZxRyDGoRLf6r1k10a8gGgg0aKYdvo4GOokQQ9TTDRoRwEklMR5huYIS3K+NYXPeWJY3vE/uLBvrS3MwRtUGa1gSX1hSssYAGNS3MTQowsvFEbOgBNEH+xW5rc5Dbzot5Wl+jb72RAle8kntqxqXRewKOQULuNHQd+sxy3EeasI2yZlg8Ysl5hcFo9efAFr95FJsfyFSSqoa+JHi7PKUkClkWtwLm4BArUJb0vts+RxUWjTY61eaGOTMzDEyjrLbP/69CFO4QjgbYUBSpCqUgyxa2iKZ/+9hfpeGwnKv7eb6YXDMWneAzDP5Q/1uK662F39JUgIVZOhHNvU7ce3cF1VkblLMh32C+LyFFWg3tZD4my+1wQUCk1KovKBCxiUeoXDSilV6ofeQs4yVg/wmWmQo4F7rvipJITiQdtiLLbx1hWrXU/m24whBQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5136.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(4326008)(5660300002)(36756003)(2906002)(38100700002)(1076003)(38350700002)(6506007)(956004)(26005)(52116002)(508600001)(6486002)(186003)(2616005)(8936002)(86362001)(6916009)(54906003)(8676002)(44832011)(6512007)(6666004)(316002)(66946007)(66556008)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5eRNWWfvUn06dw1ByELsF+pZiZk1NEFA29f+e6BkRoVkKp7ediS/YoWpdqv+?= =?us-ascii?Q?erCIDTh5CIHG+1UmlWW3DgL2VkmhuR9iEEgWREKYXLLTgR2R/vGrgsGedNPM?= =?us-ascii?Q?5fA+6hVTSbxzxtVWdoYz99emC72+kuj3e47nXO1hM80Kx3b9QtdujAKAf6o2?= =?us-ascii?Q?8yVmQSJm4UQP4v/ba/8OSzrR7lFgLQ1SXr1AZRPMyRs8TQtzgQII6kwW9xoM?= =?us-ascii?Q?tDBdMOHcbdEy5n0heV9qXQKcQraXMpMQ6XohXrjGEubV75cB/BKW1Fqg0YmO?= =?us-ascii?Q?96kZd8ntdxAm8sB8xmuLxvC/oV37XhyFYWzJhAK9OmmFM71RsPNuYdgJC0Ue?= =?us-ascii?Q?MLBFVU/6mulC5+nKgk91/y6trSnmZ4qrc3aV6mMvZteynkdO2PJEuK4pbhwv?= =?us-ascii?Q?tKDvL35clXWm2PBWJiT/y2fk3JZiKhHmde2FiDrifrtQQMPpVlhtpP/50Omt?= =?us-ascii?Q?E+aqY6ITBIII8FOVhZb6TbAqxjjFTQi95SiFyQOQ1nc8zkhAvBgTuZ64K4lN?= =?us-ascii?Q?vrsMFSN3SEqrefsKotqu9LaFxhYf9TyGsKxj3G52Cz09dzscz30HSE0sJpc+?= =?us-ascii?Q?Fh56fj/XYXbzYguYaCcL/cPXHh5CPHiT0/1EeteFH3wzktLGoeeQql+7rUbJ?= =?us-ascii?Q?LoBTJQstqKRcOS5hGoJWKmy6WEpgeg6nna4rxHivc17uJrQgo3FgX7nD5fKU?= =?us-ascii?Q?KTiH34ADaJZB8OEMs8Sc2x10ub+QTQQgffmVbHL2UW1wlOZCwMq00oZWWkfC?= =?us-ascii?Q?R4ITfq/fGz6rpxQLi594L/16qkuCIFyULF5l9qcevB0Z4HQF5pRqv5N19RHa?= =?us-ascii?Q?AHjcP0+BsU5xvF0JBuMiDlNA/s8UU9Ggcom+Rv3MxJEdqja6GvGffm2b98qs?= =?us-ascii?Q?Pynu6MR12a8uOumfWkKH88i5I+yMO+4+DlgKebA/ZAyiRR9ylAvlxYLtmkxS?= =?us-ascii?Q?FF61Bss68OiG4AtqecmnezXwHv0sq41NInlPp0OkD6RDNbi5FlC+8T3OoyvI?= =?us-ascii?Q?Cisu+hDMQW1EcEB9VrmIMceMZjkl5HQGrU2aaqo/lGw20nWyHnKKr2G2qQIL?= =?us-ascii?Q?nBVFLY9xB+VLVRN61tZ8BAOU5Whso7tLgrVvb5ZDNUOhgme6bQGYJl6bXaIP?= =?us-ascii?Q?zNOYHHMR7kQWMAIDugrhgX7FGT3qeBUOPowrgJH9iQxv+J8CeHVq7o/JdwRP?= =?us-ascii?Q?+ZTp9/Xbw4DmU2Vmdbex45EaNwaZ8lgOuIq8LNUp+lC37MHwx5EPA4XIzA7X?= =?us-ascii?Q?qBPsvC3Wu7UX8ZvEh9VQXvrST9nXMOvaCayM8TSKCDfkcAvB3cwzw8yy4Otk?= =?us-ascii?Q?Kv8gm0FnjgzPm9nnT38kkw1ASziy5LaUOzQ2SrZNDctVBTjZex3ngXm3j73J?= =?us-ascii?Q?OOklxF/BN8uWbg/X+ORpmICNmTNbk0AP+WLZff4WUDzqCUbFmVLNHPmUAsLK?= =?us-ascii?Q?DArRpSJJ7a/zUDFdhpuevyHY5vFiY3WwS5TjP0K64NcOZpWKbYRRPD3etrtt?= =?us-ascii?Q?uqKQEzJ0nJcT/fERYxATGSQ3i5KhrZTfzrcSU01Gca/vXVg+OpReomEtQMcE?= =?us-ascii?Q?p6Ua934eK8cy4nPwwjRJwoTyYvFK8ITNglKRQnUIGdOgItobeV9EuOAz6Enu?= =?us-ascii?Q?98e+yodWusYbEBkoxegthKE=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32da2bf8-35b1-4c9a-9ee6-08d9b779e8e6 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2021 23:00:47.8020 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WYHEzZe5lnqFnJiYiI+HECItrF8uHjiITcsRGBGYK+XFBGP7U4VDrGbdgU7wcFyv5GpXWIVZATvFXP68J+eRsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3837 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.38 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean If the DSA API is going to allow drivers to do things such as: - phy_config in dsa_ops :: port_probe - phy_startup in dsa_ops :: port_enable then it would actually be good if the ->port_probe() method would actually be called in all cases before the ->port_enable() is. Currently this is true for user ports, but not true for the CPU port, because the CPU port does not have a udevice registered for it (this is all part of DSA's design). So the current issue is that after phy_startup has finished for the CPU port, its phydev->speed is an uninitialized value, because phy_config() was never called for the priv->cpu_port_fixed_phy, and it is precisely phy_config() who copies the speed into the phydev in the case of the fixed PHY driver. So we need to simulate a probing event for the CPU port by manually calling the driver's ->port_probe() method for the CPU port. Fixes: 8a2982574854 ("net: dsa: introduce a .port_probe() method in struct dsa_ops") Signed-off-by: Vladimir Oltean --- net/dsa-uclass.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/net/dsa-uclass.c b/net/dsa-uclass.c index 606b1539a776..9ff55a02fb23 100644 --- a/net/dsa-uclass.c +++ b/net/dsa-uclass.c @@ -466,6 +466,8 @@ static int dsa_pre_probe(struct udevice *dev) { struct dsa_pdata *pdata = dev_get_uclass_plat(dev); struct dsa_priv *priv = dev_get_uclass_priv(dev); + struct dsa_ops *ops = dsa_get_ops(dev); + int err; priv->num_ports = pdata->num_ports; priv->cpu_port = pdata->cpu_port; @@ -477,6 +479,15 @@ static int dsa_pre_probe(struct udevice *dev) uclass_find_device_by_ofnode(UCLASS_ETH, pdata->master_node, &priv->master_dev); + + /* Simulate a probing event for the CPU port */ + if (ops->port_probe) { + err = ops->port_probe(dev, priv->cpu_port, + priv->cpu_port_fixed_phy); + if (err) + return err; + } + return 0; } -- 2.25.1