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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC73BC47082 for ; Mon, 7 Jun 2021 09:46:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 97C7961130 for ; Mon, 7 Jun 2021 09:46:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230382AbhFGJr4 convert rfc822-to-8bit (ORCPT ); Mon, 7 Jun 2021 05:47:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46566 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230173AbhFGJrz (ORCPT ); Mon, 7 Jun 2021 05:47:55 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD46AC061766 for ; Mon, 7 Jun 2021 02:46:04 -0700 (PDT) Received: from lupine.hi.pengutronix.de ([2001:67c:670:100:3ad5:47ff:feaf:1a17] helo=lupine) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lqBpJ-0000ke-06; Mon, 07 Jun 2021 11:45:45 +0200 Received: from pza by lupine with local (Exim 4.92) (envelope-from ) id 1lqBpE-00032G-DJ; Mon, 07 Jun 2021 11:45:40 +0200 Message-ID: Subject: Re: [PATCH v2] net: stmmac: explicitly deassert GMAC_AHB_RESET From: Philipp Zabel To: Matthew Hagan Cc: bjorn.andersson@linaro.org, Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , "David S. Miller" , Jakub Kicinski , Maxime Coquelin , Voon Weifeng , Ong Boon Leong , Wong Vee Khee , Tan Tee Min , "Wong, Vee Khee" , Mohammad Athari Bin Ismail , netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 07 Jun 2021 11:45:40 +0200 In-Reply-To: <20210606103019.2807397-1-mnhagan88@gmail.com> References: <3436f8f0-77dc-d4ff-4489-e9294c434a08@gmail.com> <20210606103019.2807397-1-mnhagan88@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.30.5-1.1 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 2021-06-06 at 11:30 +0100, Matthew Hagan wrote: > We are currently assuming that GMAC_AHB_RESET will already be deasserted > by the bootloader. However if this has not been done, probing of the GMAC > will fail. To remedy this we must ensure GMAC_AHB_RESET has been deasserted > prior to probing. > > v2 changes: > - remove NULL condition check for stmmac_ahb_rst in stmmac_main.c > - unwrap dev_err() message in stmmac_main.c > - add PTR_ERR() around plat->stmmac_ahb_rst in stmmac_platform.c > > Signed-off-by: Matthew Hagan > --- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++++ > drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 7 +++++++ > include/linux/stmmac.h | 1 + > 3 files changed, 12 insertions(+) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index 6d41dd6f9f7a..0d4cb423cbbd 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -6840,6 +6840,10 @@ int stmmac_dvr_probe(struct device *device, > reset_control_reset(priv->plat->stmmac_rst); > } > > + ret = reset_control_deassert(priv->plat->stmmac_ahb_rst); > + if (ret == -ENOTSUPP) > + dev_err(priv->device, "unable to bring out of ahb reset\n"); > + I would make this if (ret) dev_err(priv->device, "unable to bring out of ahb reset: %pe\n", ERR_PTR(ret)); Also consider asserting the reset again in the remove path. Or is there a reason not to? With that addressed, Reviewed-by: Philipp Zabel regards Philipp