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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5812CC27C4F for ; Tue, 18 Jun 2024 20:50:37 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=NtTtFPkW; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4W3f630BzYz3cQD for ; Wed, 19 Jun 2024 06:50:35 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=NtTtFPkW; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=2604:1380:4641:c500::1; helo=dfw.source.kernel.org; envelope-from=helgaas@kernel.org; receiver=lists.ozlabs.org) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4W3f5G21NBz2ysf for ; Wed, 19 Jun 2024 06:49:54 +1000 (AEST) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 7427161B4D; Tue, 18 Jun 2024 20:49:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0B61C3277B; Tue, 18 Jun 2024 20:49:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718743792; bh=CkxYcZq8lMhZtQeh+gh2bGRvtFYZZWl5V5Oif5kfgr0=; h=From:To:Cc:Subject:Date:From; b=NtTtFPkWR9PN9rl/hh7cLp2Bgo45qAe0Nd1YSQPZdlmWSzsqsruf3WYzecSPgbeqI zO32c+un6WskSZ75Lo9tW8AaOVmXwSyBux6basDs2x51R+Q4mYbUmptS7JUkmeyx51 V/71Fc8GI5+izP9hWVpUWwSzyhcVtGJruI0Z/klP/E4tKetTkIZv5YzbKUXv5y75X3 M01MhSGJzQVrN1hxlCo0rh+RcgdyF6Q4n+1VLscMPXjlP03CJ/hA7CS47b/319r4QF frOM8AR10Zd467TmvaoLrn1BgM83WMvLeb1Z2L63H0W9CVcH+VmeFEjzzYETHlNGUV 9oqrc8q+QMIvg== From: Bjorn Helgaas To: Kai-Heng Feng Subject: [PATCH v9 0/2] PCI: Disable AER & DPC on suspend Date: Tue, 18 Jun 2024 15:49:44 -0500 Message-Id: <20240618204946.1271042-1-helgaas@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hannes Reinecke , Chaitanya Kulkarni , Sagi Grimberg , "Rafael J . Wysocki" , linux-pci@vger.kernel.org, Mahesh J Salgaonkar , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , Oliver O'Halloran , Bagas Sanjaya , Keith Busch , Thomas Crider , linuxppc-dev@lists.ozlabs.org, Christoph Hellwig , regressions@lists.linux.dev Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Bjorn Helgaas This is an old series from Kai-Heng that I didn't handle soon enough. The intent is to fix several suspend/resume issues: - Spurious wakeup from s2idle (https://bugzilla.kernel.org/show_bug.cgi?id=216295) - Steam Deck doesn't resume after suspend (https://bugzilla.kernel.org/show_bug.cgi?id=218090) - Unexpected ACS error and DPC event when resuming after suspend (https://bugzilla.kernel.org/show_bug.cgi?id=209149) It seems that a glitch when the link is powered down during suspend causes errors to be logged by AER. When AER is enabled, this causes an AER interrupt, and if that IRQ is shared with PME, it may cause a spurious wakeup. Also, errors logged during link power-down and power-up seem to cause unwanted error reporting during resume. This series disables AER interrupts, DPC triggering, and DPC interrupts during suspend. On resume, it clears AER and DPC error status before re-enabling their interrupts. I added a couple cosmetic changes for the v9, but this is essentially all Kai-Heng's work. I'm just posting it as a v9 because I failed to act on this earlier. Bjorn v9: - Drop pci_ancestor_pr3_present() and pm_suspend_via_firmware; do it unconditionally - Clear DPC status before re-enabling DPC interrupt v8: https://lore.kernel.org/r/20240416043225.1462548-1-kai.heng.feng@canonical.com - Wording. - Add more bug reports. v7: - Wording. - Disable AER completely (again) if power will be turned off - Disable DPC completely (again) if power will be turned off v6: https://lore.kernel.org/r/20230512000014.118942-1-kai.heng.feng@canonical.com v5: https://lore.kernel.org/r/20230511133610.99759-1-kai.heng.feng@canonical.com - Wording. v4: https://lore.kernel.org/r/20230424055249.460381-1-kai.heng.feng@canonical.com v3: https://lore.kernel.org/r/20230420125941.333675-1-kai.heng.feng@canonical.com - Correct subject. v2: https://lore.kernel.org/r/20230420015830.309845-1-kai.heng.feng@canonical.com - Only disable AER IRQ. - No more AER check on PME IRQ#. - Use AER helper. - Only disable DPC IRQ. - No more DPC check on PME IRQ#. v1: https://lore.kernel.org/r/20220727013255.269815-1-kai.heng.feng@canonical.com Kai-Heng Feng (2): PCI/AER: Disable AER service on suspend PCI/DPC: Disable DPC service on suspend drivers/pci/pcie/aer.c | 18 +++++++++++++ drivers/pci/pcie/dpc.c | 60 +++++++++++++++++++++++++++++++++--------- 2 files changed, 66 insertions(+), 12 deletions(-) -- 2.34.1