Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp4611221rdb; Fri, 29 Dec 2023 07:30:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3h40c4uTdAUv5PlBTEO2UeacHxKwPM0DfSJC3z9Io0YvLsR7PANxT9BbAHGPFC+lOpHom X-Received: by 2002:a17:906:2d6:b0:a23:3656:3820 with SMTP id 22-20020a17090602d600b00a2336563820mr5445846ejk.87.1703863813573; Fri, 29 Dec 2023 07:30:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703863813; cv=none; d=google.com; s=arc-20160816; b=i8bFKgaD0RXRYnHZZutgMZMWGVaBMb0UcN9yWBGX7WdKdSCThS5QYcieNwDfODV3yS GpjN75aSAVLSOVfJ20Y3hrEY/vr/QNRuyBAngCJB+QopO+p7U/mNq9prsAim2BQoP0oe OJ0rL0THPPSRrBSvmfLjjQcH2o4DcmopRM31r6ImNVPvsCQVbsSki7bK7Zfm4TIrwDa1 +aMcnonwNmcz3r0WQsfZyQfAKUxXMjx3rqCkR8rCSIk4W0xZ/vjGK2xN8UP49mwdYWb1 HQNXh7J9F6d25zGQYrR3GjzNO0OzyMIX0tqb8TV1QJcQv4hunfyMRXnJci4PFagOnu1r lDCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=oYS2JMg2qLhx9PO6XTTHSW2gA96Y7AS5EGijg/1an2w=; fh=gfNDmRo213gmI1aWLdkWnH5sGjyqSXIbPYey6Bc00z0=; b=PivziETiGt2j9ribEUNDIE42qDaqTovPnn9OZKC5O0vwJ+gxaEW8uhYUrZubNV6jJP eRfTG9LI7Pj5M4+lPteN5FPhPwG6R4q6Cbyu0IQ2i+qUaS4kTnl7AT/7EQ+L78/1VrmG sSj0BXcApnv1kUCTkxhhkbP85eSIyUeNG5nnfa5ZIgdGXM1fUI8P8sT7jcfdvI0GmxQy EoXdpBZhqRyZAwBLBlcgYv7F2tkIwy/+b7bbru3cvlrW+t7I2hIYqUxaTX1Q84fStl7V zZxl5/itEs4YMe1BgI6L4qTbVZBYz2s891LBa6VxLwG4Il1NDxobIs2rhROL+ZwWV8Rd iw9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qhIcz4qU; spf=pass (google.com: domain of linux-kernel+bounces-13140-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13140-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id gi13-20020a1709070c8d00b00a26c6daaa17si5961425ejc.134.2023.12.29.07.30.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Dec 2023 07:30:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13140-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qhIcz4qU; spf=pass (google.com: domain of linux-kernel+bounces-13140-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13140-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 526E71F22B28 for ; Fri, 29 Dec 2023 15:30:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4B71F125BF; Fri, 29 Dec 2023 15:30:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qhIcz4qU" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75BC0125AD; Fri, 29 Dec 2023 15:30:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFBD4C433C8; Fri, 29 Dec 2023 15:30:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1703863802; bh=rrRRym+4B4/ohQWp8hfDWnDdsCoZaLrAne2Eup3YzEA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=qhIcz4qUO22X6OPMTIQfrlr2Rps8fsxwxyhzPG/Dy1xiVaP7+vSb2GZnYdB6Prea0 gLM//hbU1L9cx5kys2LRlGA3TLmz5O7rAYZDoTibfTQT5heoPmijRG5HFffzeamBSz uxa3Ao13IaCBS99AMaZfprby3kcNSPLAmljdSj8hErHqmCaQ69kv5XM7vZUi8UZriE vOCcSPAEs/563+z0mLn2ez7nb31IKo1c4kjQtIUwZ6ZxL6yWgm30LVT6fheVl67Mfk DrwqztIDisvjQ1B0koJRwr4bq7tDJxwiPrHFtIK5mSuDao7qPEQupg+A38ABvo32A9 NJYE9SKCmtmtQ== Received: from johan by xi.lan with local (Exim 4.96.2) (envelope-from ) id 1rJEo7-0005gI-0h; Fri, 29 Dec 2023 16:29:55 +0100 Date: Fri, 29 Dec 2023 16:29:55 +0100 From: Johan Hovold To: Konrad Dybcio Cc: Manivannan Sadhasivam , Bjorn Andersson , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Philipp Zabel , Stanimir Varbanov , Andrew Murray , Vinod Koul , Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/4] PCI: qcom: Reshuffle reset logic in 2_7_0 .init Message-ID: References: <20231227-topic-8280_pcie-v1-0-095491baf9e4@linaro.org> <20231227-topic-8280_pcie-v1-1-095491baf9e4@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: [ Again, please remember to add a newline before you inline comments to make you replies readable. ] On Fri, Dec 29, 2023 at 04:01:27PM +0100, Konrad Dybcio wrote: > On 29.12.2023 15:04, Johan Hovold wrote: > > On Wed, Dec 27, 2023 at 11:17:19PM +0100, Konrad Dybcio wrote: > >> At least on SC8280XP, if the PCIe reset is asserted, the corresponding > >> AUX_CLK will be stuck at 'off'. > > > > No, this path is exercised on every boot without the aux clock ever > > being stuck at off. So something is clearly missing in this description. > That's likely because the hardware has been initialized and not cleanly > shut down by your bootloader. When you reset it, or your bootloader > wasn't so kind, you need to start initialization from scratch. What does that even mean? I'm telling you that this reset is asserted on each boot, on all sc8280xp platforms I have access to, and never have I seen the aux clk stuck at off. So clearly your claim above is too broad and the commit message is incorrect or incomplete. > >> Assert the reset (which may end up being a NOP if it was previously > >> asserted) and de-assert it back *before* turning on the clocks to avoid > >> such cases. > >> > >> In addition to that, in case the clock bulk enable fails, assert the > >> RC reset back, as the hardware is in an unknown state at best. > > > > This is arguably a separate change, and not necessarily one that is > > correct either > If the clock enable fails, the PCIe hw is not in reset state, ergo it > may be doing "something", and that "something" would eat non-zero power. > It's just cleaning up after yourself. How can it do something without power and clocks? And leaving reset asserted for non-powered devices is generally not a good idea. > > so should at least go in a separate patch if it should > > be done at all. > I'll grumpily comply.. I suggest you leave it deasserted unless you have documentation suggesting that the opposite is safe and recommended for this piece of hardware. > >> Fixes: ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller") > > > > I think you're being way to liberal with your use of Fixes tags. To > > claim that this is a bug, you need to make a more convincing case for > > why you think so. > The first paragraph describes the issue that this patch fixes. Yes, but this is all very hand-wavy so far. With a complete commit message I may agree, but you still haven't convinced me that this is a bug and not just a workaround from some not fully-understood issue on one particular platform. > > Also note Qualcomm's vendor driver is similarly asserting reset after > > enabling the clocks. > It's also not asserting the reset on suspend, see below. Right, as I mentioned. > > That driver does not seem to reset the controller on resume, though, in > > case that is relevant for your current experiments. > I know, the vendor driver doesn't fully shut down the controller. This > is however the only sequence that we (partially) have upstream, and the > only one that is going to work on SC8280XP (due to hw design). > > On other platforms, a "soft shutdown" (i.e. dropping the link, cutting > clocks but not fully resetting the RC state) should be possible, but > that's not what this patchset concerns. The commit message does not even mention suspend, it just makes a clearly false general claim about a clock being stuck unless you reorder things. Johan