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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8A604C433EF for ; Tue, 22 Mar 2022 11:08:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231570AbiCVLKW convert rfc822-to-8bit (ORCPT ); Tue, 22 Mar 2022 07:10:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234060AbiCVLKP (ORCPT ); Tue, 22 Mar 2022 07:10:15 -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 63E6A21A9 for ; Tue, 22 Mar 2022 04:08:47 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nWcNV-0007To-T5; Tue, 22 Mar 2022 12:08:41 +0100 Received: from [2a0a:edc0:0:900:1d::4e] (helo=lupine) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1nWcNP-002HSz-Ju; Tue, 22 Mar 2022 12:08:38 +0100 Received: from pza by lupine with local (Exim 4.94.2) (envelope-from ) id 1nWcNR-000459-MN; Tue, 22 Mar 2022 12:08:37 +0100 Message-ID: <8b9aaabebc65a91e7700f2bd232e48b853aff9e8.camel@pengutronix.de> Subject: Re: [PATCH] spi: dw: assert reset before deasserting reset From: Philipp Zabel To: Niklas Cassel Cc: Serge Semin , Serge Semin , Mark Brown , "linux-spi@vger.kernel.org" Date: Tue, 22 Mar 2022 12:08:37 +0100 In-Reply-To: References: <20220301111715.3062886-1-Niklas.Cassel@wdc.com> <20220311142550.haw5jnrjycavr43m@mobilestation> <20220311170558.5bj4vwbalufpmc3f@mobilestation> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 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-spi@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org Hi Niklas, On Di, 2022-03-22 at 10:32 +0000, Niklas Cassel wrote: [...] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c?h=v5.17#n7035 > Thank you. [...] I see your point. Many drivers should probably change assert() + udelay(x) + deassert() with a reset_control_reset(), since .reset() implementation should have the correct delay for each SoC. ..but I guess often the manual for some hardware block states the how long reset has to be held. So for that to work the delay in .reset() has to be greater equal the longest reset time needed for all hardware in that SoC? Yes, exactly. The reset-simple driver was prepared for this in commit a9701376ed0f ("reset: simple: Add reset callback"), for example. Several of the custom reset drivers also implement .reset() with a fixed delay. regards Philipp