From patchwork Thu Jul 30 19:57:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Thomsen X-Patchwork-Id: 1339030 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=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=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=nOikdJ4n; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHh6d08mvz9sT6 for ; Fri, 31 Jul 2020 05:58:17 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730631AbgG3T6Q (ORCPT ); Thu, 30 Jul 2020 15:58:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726838AbgG3T6P (ORCPT ); Thu, 30 Jul 2020 15:58:15 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A71FAC061574 for ; Thu, 30 Jul 2020 12:58:14 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id l2so15444277wrc.7 for ; Thu, 30 Jul 2020 12:58:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u0mj2PuKYrLEDonSx5jyPxMgkXBqv0e7pSLRJXxg3DY=; b=nOikdJ4nhv4ZGQwkVaOUEtc5wympviVb7tGkYeogFhnxoCf12g3O7Od0QYS+UyOvdl kWR55MRDk+s0tyS+dRNVKuJwjQMFegXwZ+RkDEwv3+GzAPYqYE+VY6HrS8kXupDuUG/2 Z6B5Q7TLG4kLtlJ8uQ9WGFBkErchabnQtGrwPgGs/01USEd0wgoLodn1fd9zbpKwxbiO qNxxN0CONYCTHqCuPTvkN+hoGkOUZ7Uh1zNSa0z4tAzIrxZzVMzotG0janltHa3drL+g JRrSBlQMulT9B1SxeWopRtZ1QT5NzIQN/U1eVeSPXpZPoyIaob6NPf70Os/zHHlxISf8 VlSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u0mj2PuKYrLEDonSx5jyPxMgkXBqv0e7pSLRJXxg3DY=; b=qkPMl3VkGCQc0M30lWICAGe23RtKm3srBHEdcLQG5+s9jpJqOeNDz3+O+T/THCEuZU y4wWGqCuOm6Hn83AcUCs1AvagIL8muRU9duFwRtTCE8kKLTaBQ2HtTI2s6VxsoUxeMiA kcA/cO0K42s/VWOEXI92XhEid9cI2KgM8Pco7Sk1l2cIGxNP2UJXCC81TXUCio06Zzch 3wMd+sctYZExwzJDMEXEduAILTfllAajzwwworMrrZGS0skGOWyS04T1kBewTK9Sh1BS JZCxqfzGL8kTgpNYCOJmiRdiX6GdODbKpUjOtDF8QBiYC8NiK6UX4IozICL7vm0/u+3A rcNQ== X-Gm-Message-State: AOAM53148RBf1IoDhW0YGuFHuz/9GwnyqVA1rfzFweK0pYNJi9xrD1Xe vw0Q46x1Rj1otcmAS+8KaDz+CJnuXK33cg== X-Google-Smtp-Source: ABdhPJz6mrfC/YDdNdfs+O4ww5NIfjy9/OOvkeJXpFHJofAoxBaF4/b/0rXZcl3VsZGoZpi37rxxpA== X-Received: by 2002:adf:f7c3:: with SMTP id a3mr324039wrq.162.1596139091420; Thu, 30 Jul 2020 12:58:11 -0700 (PDT) Received: from xps13.lan (3e6b1cc1.rev.stofanet.dk. [62.107.28.193]) by smtp.googlemail.com with ESMTPSA id z6sm11326993wml.41.2020.07.30.12.58.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2020 12:58:10 -0700 (PDT) From: Bruno Thomsen To: netdev Cc: Bruno Thomsen , Andrew Lunn , Fabio Estevam , Florian Fainelli , Russell King - ARM Linux , Heiner Kallweit , Lars Alex Pedersen , Bruno Thomsen Subject: [PATCH v2 1/4 net-next] dt-bindings: net: mdio: add reset-post-delay-us property Date: Thu, 30 Jul 2020 21:57:46 +0200 Message-Id: <20200730195749.4922-2-bruno.thomsen@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200730195749.4922-1-bruno.thomsen@gmail.com> References: <20200730195749.4922-1-bruno.thomsen@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add "reset-post-delay-us" parameter to MDIO bus properties, so it's possible to add a delay after reset deassert. This is optional in case external hardware slows down release of the reset signal. Signed-off-by: Bruno Thomsen Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- Documentation/devicetree/bindings/net/mdio.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml index d6a3bf8550eb..26afb556dfae 100644 --- a/Documentation/devicetree/bindings/net/mdio.yaml +++ b/Documentation/devicetree/bindings/net/mdio.yaml @@ -39,6 +39,13 @@ properties: and must therefore be appropriately determined based on all devices requirements (maximum value of all per-device RESET pulse widths). + reset-post-delay-us: + description: + Delay after reset deassert in microseconds. It applies to all MDIO + devices and it's determined by how fast all devices are ready for + communication. This delay happens just before e.g. Ethernet PHY + type ID auto detection. + clock-frequency: description: Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3 From patchwork Thu Jul 30 19:57:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Thomsen X-Patchwork-Id: 1339031 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=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=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=YASyrnjD; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHh6g5Pzyz9sT6 for ; Fri, 31 Jul 2020 05:58:19 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730634AbgG3T6T (ORCPT ); Thu, 30 Jul 2020 15:58:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726838AbgG3T6R (ORCPT ); Thu, 30 Jul 2020 15:58:17 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F33DC061574 for ; Thu, 30 Jul 2020 12:58:17 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id g8so6740738wmk.3 for ; Thu, 30 Jul 2020 12:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=G/402jvunHbjF11hVgmWiTzJle9vwpONJILlatnYutU=; b=YASyrnjDo9cNRO78DLG5xZnVwWfhB+fqQqd/4KypqPMexjBZWBmnAh8voruvqJtaKK BNlBmSK5wO3c+fDne9E9WhwwvA3E2CFlw3E1/QgsXBE9UzWokKJf0ppMV2H5gmzOmcEM kMBZvjaZP77U1TdVF1BZeuVYcBKmtWRVjVI4IlCxY3dXfUqqzLugi+T/YIo2jaLBKhOF HFPk/ZGAPT4i5KLrVxPPpIjppkkrTYC/fZrMF0dN+QFUA/C+X8K9yLXPvQ5y3/Yybd1E IBngFgh6OZQi+QtvmEyQR7r/XUn832ouzQtLQLQa1u6Lb20qBJ9hhFpPqIIMRhugLv0R abUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=G/402jvunHbjF11hVgmWiTzJle9vwpONJILlatnYutU=; b=RIeOy02xojgq5eSzxf/obR1pkLfidMSsnOvsnx33a/SEr6J2QRYfMn2e2RqDn6V68B iheRam2dysMWql6WbtKwAu0nVhGTqqDtPBILAGkoGZ+9XNTtqsx47wKJZycNznTFPPzD BKTrBIMdlMuP+293wFSDd5DaO5l6YwPbOIe+NGe61lWVM4miHv6nk2wMdoAeyxcBwKEI 6xjnoiwvRMUSnfPYo38Vp2bVDm7BcNkNOFeSYsmGu1yPlh0DJIRUmxDPvvh+do5Y8812 wjU7icIK0wkwWE0iB0TaOGtf0uWhVNQTA53OGVLR3cnc6kHJLQGy1i4ddbn0SNhRWfd0 PArQ== X-Gm-Message-State: AOAM531eV63bePl5y7Wx/3JKvHrcl6GMb68WbjGZQDx4FenquM2nOnZ2 K9yti4edKXzP840pZKhJK9xO8q97Jswpzg== X-Google-Smtp-Source: ABdhPJzU2hob98qCaw+589Spvxz5Z0BU9N4qh3sCc9n32WkLKX5fgDOL8XtMr9giYu0WEscbcgtKtQ== X-Received: by 2002:a1c:43c3:: with SMTP id q186mr774827wma.144.1596139095907; Thu, 30 Jul 2020 12:58:15 -0700 (PDT) Received: from xps13.lan (3e6b1cc1.rev.stofanet.dk. [62.107.28.193]) by smtp.googlemail.com with ESMTPSA id z6sm11326993wml.41.2020.07.30.12.58.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2020 12:58:15 -0700 (PDT) From: Bruno Thomsen To: netdev Cc: Bruno Thomsen , Andrew Lunn , Fabio Estevam , Florian Fainelli , Russell King - ARM Linux , Heiner Kallweit , Lars Alex Pedersen , Bruno Thomsen Subject: [PATCH v2 2/4 net-next] net: mdiobus: use flexible sleeping for reset-delay-us Date: Thu, 30 Jul 2020 21:57:47 +0200 Message-Id: <20200730195749.4922-3-bruno.thomsen@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200730195749.4922-1-bruno.thomsen@gmail.com> References: <20200730195749.4922-1-bruno.thomsen@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org MDIO bus reset pulse width is created by using udelay() and that function might not be optimal depending on device tree value. By switching to the new fsleep() helper the correct delay function is called depending on delay length, e.g. udelay(), usleep_range() or msleep(). Signed-off-by: Bruno Thomsen Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- drivers/net/phy/mdio_bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index 46b33701ad4b..5df3782b05b4 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -554,7 +554,7 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner) bus->reset_gpiod = gpiod; gpiod_set_value_cansleep(gpiod, 1); - udelay(bus->reset_delay_us); + fsleep(bus->reset_delay_us); gpiod_set_value_cansleep(gpiod, 0); } From patchwork Thu Jul 30 19:57:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Thomsen X-Patchwork-Id: 1339032 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=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=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=JtTD/ifW; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHh6k24FWz9sT6 for ; Fri, 31 Jul 2020 05:58:22 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730639AbgG3T6V (ORCPT ); Thu, 30 Jul 2020 15:58:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728711AbgG3T6U (ORCPT ); Thu, 30 Jul 2020 15:58:20 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1CEC0C061574 for ; Thu, 30 Jul 2020 12:58:20 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id r4so23035776wrx.9 for ; Thu, 30 Jul 2020 12:58:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bD+tlWKGYJmK6IErzRDU+kSXmxRUCbHyRUrK85FGou4=; b=JtTD/ifWxqgH9YgiEFTpjC+W1WPCgmkb2rfyOTRvDHdUs/tLyjJvafIlBfdyKJtWIv iu3LbnWMkPazvwPvyvpuo4qPF4JQ9Rzgb82XJttcmDNvyaH4iQUIyIIfltOL0Mq7XPzZ JwPloJY8nFZq3lpTryZeGoilMhOKhWy9GYZJ9karg/zjqCFxBjVMmKchua96CaCWtwUb g9kL2bzMPF1hCr9lGY4mZEwR9tfgdGKZsRIrCyLbJcXDaMvz9q+WCo+6mIQWQ8f7XILq MQ81JyMLmTZ82OK98hm4AJx9mFZAGQCc/U1BVgu+R8UOjD2p7FZuq/2Z0m/9ZrfSWq3Q Qreg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bD+tlWKGYJmK6IErzRDU+kSXmxRUCbHyRUrK85FGou4=; b=DEEBA3i92osaYobYCzBFW6+D4g+pYunxdpPa3opHwGADhPnAPf07DTPtEmWaIeS5e7 EMc4klPAqXED8qPV6uktGqdF8+V26sGvIwgrzHJJaXLs6VVw2kPeCrDifPWB7abIV7DJ YpFg0Je6Pu/yt1JU3CgQ70WmdOYNI3qVDTjAyFKVJGcrk1E8d3//0ws0BLgnzohEJ+R/ DRMlpdkhKI4xZF5Erk4AR22FQOUl+WOBu0LuI9ZWCiW7HSA7uztG5nUEmiDiv1DqrW5s nKBZSvnWN39BktESwqf4jheTitw37HD6FUuQYcfuV45aJGPkYHkvl9WbZ7Yy31HxhzOB 1UMg== X-Gm-Message-State: AOAM531Q46bSVS8TXMwaaIS6UgkPCHWL0PFF7ifci/AaH0qwVj4583AS UAfe2aZugyGiVHDl+aUXBePO8mWTKbZ2bA== X-Google-Smtp-Source: ABdhPJxIqFNo4ds2OvtIb44Zrvo2J/Ffbdudg5BRbH6TFxqAHgAnz3gd6fmCWZZ0AkAQ0L1Sje3iVQ== X-Received: by 2002:a5d:4906:: with SMTP id x6mr352552wrq.142.1596139098652; Thu, 30 Jul 2020 12:58:18 -0700 (PDT) Received: from xps13.lan (3e6b1cc1.rev.stofanet.dk. [62.107.28.193]) by smtp.googlemail.com with ESMTPSA id z6sm11326993wml.41.2020.07.30.12.58.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2020 12:58:18 -0700 (PDT) From: Bruno Thomsen To: netdev Cc: Bruno Thomsen , Andrew Lunn , Fabio Estevam , Florian Fainelli , Russell King - ARM Linux , Heiner Kallweit , Lars Alex Pedersen , Bruno Thomsen Subject: [PATCH v2 3/4 net-next] net: mdiobus: add reset-post-delay-us handling Date: Thu, 30 Jul 2020 21:57:48 +0200 Message-Id: <20200730195749.4922-4-bruno.thomsen@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200730195749.4922-1-bruno.thomsen@gmail.com> References: <20200730195749.4922-1-bruno.thomsen@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Load new "reset-post-delay-us" value from MDIO properties, and if configured to a greater then zero delay do a flexible sleeping delay after MDIO bus reset deassert. This allows devices to exit reset state before start bus communication. Signed-off-by: Bruno Thomsen Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- drivers/net/phy/mdio_bus.c | 2 ++ drivers/of/of_mdio.c | 2 ++ include/linux/phy.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index 5df3782b05b4..0af20faad69d 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -556,6 +556,8 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner) gpiod_set_value_cansleep(gpiod, 1); fsleep(bus->reset_delay_us); gpiod_set_value_cansleep(gpiod, 0); + if (bus->reset_post_delay_us > 0) + fsleep(bus->reset_post_delay_us); } if (bus->reset) { diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index eb84507de28a..cb32d7ef4938 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c @@ -268,6 +268,8 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) /* Get bus level PHY reset GPIO details */ mdio->reset_delay_us = DEFAULT_GPIO_RESET_DELAY; of_property_read_u32(np, "reset-delay-us", &mdio->reset_delay_us); + mdio->reset_post_delay_us = 0; + of_property_read_u32(np, "reset-post-delay-us", &mdio->reset_post_delay_us); /* Register the MDIO bus */ rc = mdiobus_register(mdio); diff --git a/include/linux/phy.h b/include/linux/phy.h index 0403eb799913..3a09d2bf69ea 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -293,6 +293,8 @@ struct mii_bus { /* GPIO reset pulse width in microseconds */ int reset_delay_us; + /* GPIO reset deassert delay in microseconds */ + int reset_post_delay_us; /* RESET GPIO descriptor pointer */ struct gpio_desc *reset_gpiod; From patchwork Thu Jul 30 19:57:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruno Thomsen X-Patchwork-Id: 1339033 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=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=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=YHij1Ji8; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BHh6p1LgVz9sT6 for ; Fri, 31 Jul 2020 05:58:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730643AbgG3T6Z (ORCPT ); Thu, 30 Jul 2020 15:58:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49476 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726909AbgG3T6Y (ORCPT ); Thu, 30 Jul 2020 15:58:24 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 132C5C061574 for ; Thu, 30 Jul 2020 12:58:24 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id a15so25980227wrh.10 for ; Thu, 30 Jul 2020 12:58:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aIwWDhYuCoD/0vQOhh8J75E0YPkdiION+tv81FX4UHE=; b=YHij1Ji8sbAL7XuFcKw0LUPJVtLoZxJQCq/fAsA0FFpZoMg/9VPe444fv+jxbg3jMa kx2FEzwtRh3bjEa221LK5HZK3fIvGqOVFkdBzgz8SSsJx8vxdWDxlc6j33FJg93NSyRA G3HzCIkPAUy1plvcTDrFIXunOb3d4vqUDGjHGjaVNmvuLWJWEzM+I+eHISUxU9p6XiFX /2BCrDEQ9MycbnQfZozDHHrxCMWyfBsYgIuN53IPzO3rr7BlyaJRR/I4Zrdt8yjazH33 jIqptRGbO3dVzFwmvWmo8sTV0nmWeE4tSm1KNnn1/bfatAsRhUoIKlW0CKx49UfsFCwC 9NRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aIwWDhYuCoD/0vQOhh8J75E0YPkdiION+tv81FX4UHE=; b=az4M9VuXbp+zHwk5CcGwYXj9qaJStGWCoLgtBKhdooyy8ewG7wJJrtZoVE0JMe9/pE 9xCUwxj5TI2iz935Xjz73KQVMg2sQ/4Kie/YUiA16yhNgxAkRLQ+bf5EfucJd2q4qpz/ R8I9t0J/Xc30F59jDtyDhz1TAl/hADFDUzxTb5AO0f91yc5Qp4Aq7Vya1Zih5g7oRgeu mXe14oFxDFgudJJZr0EMt4bO2bWS0ukZATf6C2/aHwCC24XE6JxkdYN1Pv1bB7EJm8OM JXjUIDmaScfmk7v9jYMeG7yl2NlU3vrAF6MwBdJf25Q+imk5KL9x+8wWp1FEBVNI6Nd7 lGrw== X-Gm-Message-State: AOAM530Aa8v1s92d8Yf5h20V71TrXdFIAHrY89SWMuPnOlq+KCOEcD4+ rTh/YrZwVemn8rOZ88iiiz0MwjTeY+QktA== X-Google-Smtp-Source: ABdhPJw2TvK4JkncKO6UBzcLE4NgoRoMHOiBR+r5tGRK3NoCt0ESM7Jxj7kpHMmdheYYJ1D9c2Dx9g== X-Received: by 2002:a5d:4743:: with SMTP id o3mr320001wrs.218.1596139102573; Thu, 30 Jul 2020 12:58:22 -0700 (PDT) Received: from xps13.lan (3e6b1cc1.rev.stofanet.dk. [62.107.28.193]) by smtp.googlemail.com with ESMTPSA id z6sm11326993wml.41.2020.07.30.12.58.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2020 12:58:22 -0700 (PDT) From: Bruno Thomsen To: netdev Cc: Bruno Thomsen , Andrew Lunn , Fabio Estevam , Florian Fainelli , Russell King - ARM Linux , Heiner Kallweit , Lars Alex Pedersen , Bruno Thomsen Subject: [PATCH v2 4/4 net-next] net: mdio device: use flexible sleeping in reset function Date: Thu, 30 Jul 2020 21:57:49 +0200 Message-Id: <20200730195749.4922-5-bruno.thomsen@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200730195749.4922-1-bruno.thomsen@gmail.com> References: <20200730195749.4922-1-bruno.thomsen@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org MDIO device reset assert and deassert length was created by usleep_range() but that does not ensure optimal handling of all the different values from device tree properties. By switching to the new flexible sleeping helper function, fsleep(), the correct delay function is called depending on delay length, e.g. udelay(), usleep_range() or msleep(). Signed-off-by: Bruno Thomsen Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- drivers/net/phy/mdio_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/phy/mdio_device.c b/drivers/net/phy/mdio_device.c index 0f625a1b1644..0837319a52d7 100644 --- a/drivers/net/phy/mdio_device.c +++ b/drivers/net/phy/mdio_device.c @@ -132,7 +132,7 @@ void mdio_device_reset(struct mdio_device *mdiodev, int value) d = value ? mdiodev->reset_assert_delay : mdiodev->reset_deassert_delay; if (d) - usleep_range(d, d + max_t(unsigned int, d / 10, 100)); + fsleep(d); } EXPORT_SYMBOL(mdio_device_reset);