From nobody Fri Jun 19 15:47:29 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E972C433EF for ; Fri, 1 Apr 2022 11:02:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345307AbiDALEm (ORCPT ); Fri, 1 Apr 2022 07:04:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345294AbiDALEg (ORCPT ); Fri, 1 Apr 2022 07:04:36 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 405FE26F900; Fri, 1 Apr 2022 04:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1648810964; x=1680346964; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UxLvpskW4rLuGgmQq0gOVH4HGX3wrTDJMXJXEcBsELM=; b=sPTwckIMc7BuWhLIfiyqH6PPtbKaxi0CMfc99VMsnTaj8Qp0doiShWqO KNR+3hUgUdYvGBKE2OhSyqG5CaUgFagBJ5uK8T2lgif4fakuuohWcaywT Zok51QH9iALpf39qL39cpUhawyaXll2nKXiFvYMPam3j50AIkXPf77Dj2 FlwD0pk/r4PhHoTVSLhud12gs4PVHeZNIH4VvM001hh7GX5XmTU+ORGxE pYDyV0PR+QHD6i34s5bGt634yMon2YYkeiXR6g88Nz5d5j1kq49VbFEkk ZMrMAIqvcnXHaJyE3pwRqWUGMA1KKFdPQJQvCFvVEZW9ZSfWzQN4vbnAq Q==; X-IronPort-AV: E=Sophos;i="5.90,227,1643698800"; d="scan'208";a="158520178" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 01 Apr 2022 04:02:44 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Fri, 1 Apr 2022 04:02:43 -0700 Received: from soft-dev3-1.microsemi.net (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2375.17 via Frontend Transport; Fri, 1 Apr 2022 04:02:40 -0700 From: Horatiu Vultur To: , , CC: , , , , , , , , , Horatiu Vultur Subject: [PATCH net v2 1/3] dt-bindings: net: micrel: Revert latency support and timestamping check Date: Fri, 1 Apr 2022 13:05:20 +0200 Message-ID: <20220401110522.3418258-2-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220401110522.3418258-1-horatiu.vultur@microchip.com> References: <20220401110522.3418258-1-horatiu.vultur@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Revert latency support from binding. Based on the discussion[1], the DT is the wrong place to have the lantecies for the PHY. [1] https://lkml.org/lkml/2022/3/4/325 Fixes: 2358dd3fd325fc ("dt-bindings: net: micrel: Configure latency values = and timestamping check for LAN8814 phy") Signed-off-by: Horatiu Vultur --- .../devicetree/bindings/net/micrel.txt | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/Documentation/devicetree/bindings/net/micrel.txt b/Documentati= on/devicetree/bindings/net/micrel.txt index c5ab62c39133..8d157f0295a5 100644 --- a/Documentation/devicetree/bindings/net/micrel.txt +++ b/Documentation/devicetree/bindings/net/micrel.txt @@ -45,20 +45,3 @@ Optional properties: =20 In fiber mode, auto-negotiation is disabled and the PHY can only work in 100base-fx (full and half duplex) modes. - - - lan8814,ignore-ts: If present the PHY will not support timestamping. - - This option acts as check whether Timestamping is supported by - hardware or not. LAN8814 phy support hardware tmestamping. - - - lan8814,latency_rx_10: Configures Latency value of phy in ingress at 10= Mbps. - - - lan8814,latency_tx_10: Configures Latency value of phy in egress at 10 = Mbps. - - - lan8814,latency_rx_100: Configures Latency value of phy in ingress at 1= 00 Mbps. - - - lan8814,latency_tx_100: Configures Latency value of phy in egress at 10= 0 Mbps. - - - lan8814,latency_rx_1000: Configures Latency value of phy in ingress at = 1000 Mbps. - - - lan8814,latency_tx_1000: Configures Latency value of phy in egress at 1= 000 Mbps. --=20 2.33.0 From nobody Fri Jun 19 15:47:29 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 308CBC433F5 for ; Fri, 1 Apr 2022 11:02:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345318AbiDALEp (ORCPT ); Fri, 1 Apr 2022 07:04:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345296AbiDALEk (ORCPT ); Fri, 1 Apr 2022 07:04:40 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F256D26F202; Fri, 1 Apr 2022 04:02:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1648810971; x=1680346971; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=iY2I1fkfLIGc5unC9i73TumxPpp4nrqcgFalw/9zoPo=; b=YQtyYyArBdwLLr2eT10XfJw1OXFW2lKBWuhT+5ELtqo9B2qpNDybNx5m cPUPpJn71Fe8fT1SJ9PG2k4gbHpiEoD3/WAKdhaoceePgTLMv5VN5qKly Q5rJYMFS2jgvTvYnwT5nluJRSvHSlvEeRWCYVa1RFkQ3Q4GFKbFuNs9rG 1mGb9jTg0z8j0lbozg1yVrfn/iBbfkM1hOF9kqDRUxBK0v7oOk5ldoRez MsnHnudHpSvnJwZgozVSiLh3dRyAwtcjIC8qhZVrKQPQjn6GMBHSqrf6i apOz7wdOC7dDmSodxIGwXieSNRj6iqULikBnZ57aKAoOrqngUTCfeS89H A==; X-IronPort-AV: E=Sophos;i="5.90,227,1643698800"; d="scan'208";a="158520196" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 01 Apr 2022 04:02:50 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Fri, 1 Apr 2022 04:02:50 -0700 Received: from soft-dev3-1.microsemi.net (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2375.17 via Frontend Transport; Fri, 1 Apr 2022 04:02:47 -0700 From: Horatiu Vultur To: , , CC: , , , , , , , , , Horatiu Vultur Subject: [PATCH net v2 2/3] net: phy: micrel: Remove latency from driver Date: Fri, 1 Apr 2022 13:05:21 +0200 Message-ID: <20220401110522.3418258-3-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220401110522.3418258-1-horatiu.vultur@microchip.com> References: <20220401110522.3418258-1-horatiu.vultur@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Based on the discussions here[1], the PHY driver is the wrong place to set the latencies, therefore remove them. [1] https://lkml.org/lkml/2022/3/4/325 Fixes: ece19502834d84 ("net: phy: micrel: 1588 support for LAN8814 phy") Signed-off-by: Horatiu Vultur --- drivers/net/phy/micrel.c | 102 +-------------------------------------- 1 file changed, 1 insertion(+), 101 deletions(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 19b11e896460..a873df07ad24 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -99,15 +99,6 @@ #define PTP_TIMESTAMP_EN_PDREQ_ BIT(2) #define PTP_TIMESTAMP_EN_PDRES_ BIT(3) =20 -#define PTP_RX_LATENCY_1000 0x0224 -#define PTP_TX_LATENCY_1000 0x0225 - -#define PTP_RX_LATENCY_100 0x0222 -#define PTP_TX_LATENCY_100 0x0223 - -#define PTP_RX_LATENCY_10 0x0220 -#define PTP_TX_LATENCY_10 0x0221 - #define PTP_TX_PARSE_L2_ADDR_EN 0x0284 #define PTP_RX_PARSE_L2_ADDR_EN 0x0244 =20 @@ -268,15 +259,6 @@ struct lan8814_ptp_rx_ts { u16 seq_id; }; =20 -struct kszphy_latencies { - u16 rx_10; - u16 tx_10; - u16 rx_100; - u16 tx_100; - u16 rx_1000; - u16 tx_1000; -}; - struct kszphy_ptp_priv { struct mii_timestamper mii_ts; struct phy_device *phydev; @@ -296,7 +278,6 @@ struct kszphy_ptp_priv { =20 struct kszphy_priv { struct kszphy_ptp_priv ptp_priv; - struct kszphy_latencies latencies; const struct kszphy_type *type; int led_mode; bool rmii_ref_clk_sel; @@ -304,14 +285,6 @@ struct kszphy_priv { u64 stats[ARRAY_SIZE(kszphy_hw_stats)]; }; =20 -static struct kszphy_latencies lan8814_latencies =3D { - .rx_10 =3D 0x22AA, - .tx_10 =3D 0x2E4A, - .rx_100 =3D 0x092A, - .tx_100 =3D 0x02C1, - .rx_1000 =3D 0x01AD, - .tx_1000 =3D 0x00C9, -}; static const struct kszphy_type ksz8021_type =3D { .led_mode_reg =3D MII_KSZPHY_CTRL_2, .has_broadcast_disable =3D true, @@ -2618,55 +2591,6 @@ static int lan8814_ptp_probe_once(struct phy_device = *phydev) return 0; } =20 -static int lan8814_read_status(struct phy_device *phydev) -{ - struct kszphy_priv *priv =3D phydev->priv; - struct kszphy_latencies *latencies =3D &priv->latencies; - int err; - int regval; - - err =3D genphy_read_status(phydev); - if (err) - return err; - - switch (phydev->speed) { - case SPEED_1000: - lanphy_write_page_reg(phydev, 5, PTP_RX_LATENCY_1000, - latencies->rx_1000); - lanphy_write_page_reg(phydev, 5, PTP_TX_LATENCY_1000, - latencies->tx_1000); - break; - case SPEED_100: - lanphy_write_page_reg(phydev, 5, PTP_RX_LATENCY_100, - latencies->rx_100); - lanphy_write_page_reg(phydev, 5, PTP_TX_LATENCY_100, - latencies->tx_100); - break; - case SPEED_10: - lanphy_write_page_reg(phydev, 5, PTP_RX_LATENCY_10, - latencies->rx_10); - lanphy_write_page_reg(phydev, 5, PTP_TX_LATENCY_10, - latencies->tx_10); - break; - default: - break; - } - - /* Make sure the PHY is not broken. Read idle error count, - * and reset the PHY if it is maxed out. - */ - regval =3D phy_read(phydev, MII_STAT1000); - if ((regval & 0xFF) =3D=3D 0xFF) { - phy_init_hw(phydev); - phydev->link =3D 0; - if (phydev->drv->config_intr && phy_interrupt_is_valid(phydev)) - phydev->drv->config_intr(phydev); - return genphy_config_aneg(phydev); - } - - return 0; -} - static int lan8814_config_init(struct phy_device *phydev) { int val; @@ -2690,27 +2614,6 @@ static int lan8814_config_init(struct phy_device *ph= ydev) return 0; } =20 -static void lan8814_parse_latency(struct phy_device *phydev) -{ - const struct device_node *np =3D phydev->mdio.dev.of_node; - struct kszphy_priv *priv =3D phydev->priv; - struct kszphy_latencies *latency =3D &priv->latencies; - u32 val; - - if (!of_property_read_u32(np, "lan8814,latency_rx_10", &val)) - latency->rx_10 =3D val; - if (!of_property_read_u32(np, "lan8814,latency_tx_10", &val)) - latency->tx_10 =3D val; - if (!of_property_read_u32(np, "lan8814,latency_rx_100", &val)) - latency->rx_100 =3D val; - if (!of_property_read_u32(np, "lan8814,latency_tx_100", &val)) - latency->tx_100 =3D val; - if (!of_property_read_u32(np, "lan8814,latency_rx_1000", &val)) - latency->rx_1000 =3D val; - if (!of_property_read_u32(np, "lan8814,latency_tx_1000", &val)) - latency->tx_1000 =3D val; -} - static int lan8814_probe(struct phy_device *phydev) { const struct device_node *np =3D phydev->mdio.dev.of_node; @@ -2724,8 +2627,6 @@ static int lan8814_probe(struct phy_device *phydev) =20 priv->led_mode =3D -1; =20 - priv->latencies =3D lan8814_latencies; - phydev->priv =3D priv; =20 if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) || @@ -2746,7 +2647,6 @@ static int lan8814_probe(struct phy_device *phydev) return err; } =20 - lan8814_parse_latency(phydev); lan8814_ptp_init(phydev); =20 return 0; @@ -2928,7 +2828,7 @@ static struct phy_driver ksphy_driver[] =3D { .config_init =3D lan8814_config_init, .probe =3D lan8814_probe, .soft_reset =3D genphy_soft_reset, - .read_status =3D lan8814_read_status, + .read_status =3D ksz9031_read_status, .get_sset_count =3D kszphy_get_sset_count, .get_strings =3D kszphy_get_strings, .get_stats =3D kszphy_get_stats, --=20 2.33.0 From nobody Fri Jun 19 15:47:29 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 305B8C433EF for ; Fri, 1 Apr 2022 11:03:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345320AbiDALEx (ORCPT ); Fri, 1 Apr 2022 07:04:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345314AbiDALEo (ORCPT ); Fri, 1 Apr 2022 07:04:44 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BF2F2706C4; Fri, 1 Apr 2022 04:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1648810975; x=1680346975; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=iQO9f8iaENIV19XBT+seKvipVsM/1nu/lvqiaWsIUus=; b=s45eiVSDw4JEOknXnf6TZcNTaF8qgM8UuvXeIZWTLn+GssNGAaX1C8iU r55WEOWtjdvli12q0uYBQmhz+FYMK0mfu6sSRu3EyBvBd6ogXSbicS6Ex 1AZX602N0m6SjRpD+wfjq0NjQnK60mXOm0Lx3tmj4HwPKodvs1DV2QxWi v2TXEQ18nvLMDFIt7Z96SubcspWdkcNcSChBTmyxicn/aAAROFxDPoAJm 5PUURhx6FkeWrVt01jbirOpmdhx2+qdPGhRfAE+qgIk/gnceV7zHXsbJZ Sc7Jt11xW85PIvXLB26mJKF0vSQLTn0mJeV62wTyJKwJt/ZqO3b2+p/R+ w==; X-IronPort-AV: E=Sophos;i="5.90,227,1643698800"; d="scan'208";a="158520209" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 01 Apr 2022 04:02:55 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Fri, 1 Apr 2022 04:02:54 -0700 Received: from soft-dev3-1.microsemi.net (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2375.17 via Frontend Transport; Fri, 1 Apr 2022 04:02:52 -0700 From: Horatiu Vultur To: , , CC: , , , , , , , , , Horatiu Vultur Subject: [PATCH net v2 3/3] net: phy: micrel: Remove DT option lan8814,ignore-ts Date: Fri, 1 Apr 2022 13:05:22 +0200 Message-ID: <20220401110522.3418258-4-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220401110522.3418258-1-horatiu.vultur@microchip.com> References: <20220401110522.3418258-1-horatiu.vultur@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When the PHY and the MAC are capable of doing timestamping, the PHY has priority. Therefore the DT option lan8814,ignore-ts was added such that the PHY will not expose a PHC so then the timestamping was done in the MAC. This is not the correct approach of doing it, therefore remove this. Fixes: ece19502834d84 ("net: phy: micrel: 1588 support for LAN8814 phy") Signed-off-by: Horatiu Vultur --- drivers/net/phy/micrel.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index a873df07ad24..fc53b71dc872 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -2616,7 +2616,6 @@ static int lan8814_config_init(struct phy_device *phy= dev) =20 static int lan8814_probe(struct phy_device *phydev) { - const struct device_node *np =3D phydev->mdio.dev.of_node; struct kszphy_priv *priv; u16 addr; int err; @@ -2630,8 +2629,7 @@ static int lan8814_probe(struct phy_device *phydev) phydev->priv =3D priv; =20 if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) || - !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING) || - of_property_read_bool(np, "lan8814,ignore-ts")) + !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING)) return 0; =20 /* Strap-in value for PHY address, below register read gives starting --=20 2.33.0