Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp8819288rwr; Thu, 11 May 2023 06:42:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ72hkPa18CtjjMahkAnItL2N0LgZycvq9/9iLdAY2IDwS1IdhSV3p/r2hROy/qpb7Jv5j5D X-Received: by 2002:a05:6a00:2194:b0:643:b653:3aa with SMTP id h20-20020a056a00219400b00643b65303aamr25698332pfi.32.1683812529767; Thu, 11 May 2023 06:42:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683812529; cv=none; d=google.com; s=arc-20160816; b=LJN+aiA+kzQpBFivOlpO77U0K6JWxCJUTmQaRc9Ixy7tzN48c6gCVEkg2k2uiANbsO atyjxyuOhszgEwWczRsmiOEyJvVXXkMOyGbQqcPDl7UGRgHMo/3Xd+8c1dL6PB5Z0Dzu rSRXPAwPnVWysNHrZM6YtexQ/+Yws+UgaikKbShOQnV8f8q9/t/r6fJKmEcariR2/rhR 8wUIORH4Kc4vANbfxYe0yG4iPz8e+QE7N+3FWpbhWhvMXBVLxwVxZ7g9xIS00gBLRbeu gLzpq5t/wtBFBhRaJh5Lv3nT+i/QCeOyxKLqFKq71huNd8C534M2JkdBEUC3en7/sc5l Mu3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=011K5wvvIoIZK715UN1HjkgAo3VxiaK+uINHfyAtcqg=; b=EIYCGyE226oBLV8yoBYhq1ySgZBACGtDCZO/7zlylIVcy2o3w3l8wESz/dj8ZxtcFN 9hQZuiTOc8K8/4jM6Srhvk3K8lvtJpbwk7yWkGc1hvnPfiy1Ro2d1hqvbhAVsCPqwlT1 lmMSz9IJIhlH5rKBA4BAY6yvsFIZqssZTo2xWI84ta4PKwxxglYJmXwk54I9dXHObJPG Ka2euSHFHE79+49GVwnl8gzdpwPS3978wlo0Y47DjBrPxeH4gt5R63M/L5HK9OOIPy8j yjT5RJTaiwDE9LFdpEDVzhHqET6oYkpmQVUjygg5saEp7QxCm6A6kW81/8IVJSI9lmMM AoeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=rsJeGs1b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i29-20020a056a00005d00b0063b7acc199bsi7711965pfk.65.2023.05.11.06.41.57; Thu, 11 May 2023 06:42:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=rsJeGs1b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238292AbjEKNhR (ORCPT + 99 others); Thu, 11 May 2023 09:37:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238379AbjEKNft (ORCPT ); Thu, 11 May 2023 09:35:49 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C96B2D2E0 for ; Thu, 11 May 2023 06:34:43 -0700 (PDT) Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) (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 smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 2665C3F550 for ; Thu, 11 May 2023 13:34:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1683812080; bh=011K5wvvIoIZK715UN1HjkgAo3VxiaK+uINHfyAtcqg=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=rsJeGs1byvqB01fvP1Ms/VqC9aEHrba+Ob4gfkJY/ld7mSME9V2GDos24gogmXpr/ CMHiJgCtRkuCh5xPJ55UFpyffvR724XT/8OsnbJ6agm/LnnTYDHp0VLXepHn+Ll6Wd Lrk4eXgAOeqAS+N5yMIdfS8Z1gfH9JZ3iaQFN/frotnStNRIZYte/cnb6Nkxk/pFLz p8cuxBhq4s93WBAO0Rh+XnrHf/enf9I1/ND9Bt86GCjVOBAjrHjcpOEJgqUorJyZUQ otXve44skLJ0uGmYqsjEbL826T62XdiJzDIxT9zMQXUbsFBF6H0/+a5GcheGrVMjd0 fO4IWooqlmKPQ== Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-24dfb0c13dbso4816684a91.0 for ; Thu, 11 May 2023 06:34:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683812078; x=1686404078; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=011K5wvvIoIZK715UN1HjkgAo3VxiaK+uINHfyAtcqg=; b=PG4SynfCkA6ADRI0du76HFZzGEo+bsLI4aShayUr5R9pZ2OnTvUqbjAt8KFRnxDqQ1 dmMzorVULlKtcccmKENMQQrYfKirwG2SGm/v4lZEm0NV/PC8PxDPCG0owXUnMG4T4/lb fIzu7wyhtMDC2kziuSkwFlKeofchl6PZNznqKYst+Je6FrJkeLMcOly/R+BNeCleYy/g Z6nICgf+IcvKi/5mAWYm6JNkyZWLTpt1KaLusqbNMGGiwE1yEJCQRXGF3FqhFaoqoCoc dimMVDJNuIQ/vjCJ4oYAEXO3Fv2j+i8eOPyH7XnQCeIe3vea914U4oP9QXP17qAmbTTC Sh1A== X-Gm-Message-State: AC+VfDw7e0cPnVd2fj2OhwHTWzu/MoWsnW0VdX5PRvvh76KM4t5gqB8W 3eLPd8EdeT+7jUgq4gb57e+4PQ3v4tKcJNX0I7W2xzaNT9kRhyOTOLKJBBPmDkOHeYQ8LIzSu3/ m0/EjkGxTYJCHEe89asgfOBfSPB0woMc++UsFxXWF/HLl2GO7VUnIZMzHcQ== X-Received: by 2002:a17:90a:db4d:b0:250:8258:1a5 with SMTP id u13-20020a17090adb4d00b00250825801a5mr15729702pjx.33.1683812077995; Thu, 11 May 2023 06:34:37 -0700 (PDT) X-Received: by 2002:a17:90a:db4d:b0:250:8258:1a5 with SMTP id u13-20020a17090adb4d00b00250825801a5mr15729681pjx.33.1683812077662; Thu, 11 May 2023 06:34:37 -0700 (PDT) MIME-Version: 1.0 References: <20230424055249.460381-1-kai.heng.feng@canonical.com> <20230424055249.460381-2-kai.heng.feng@canonical.com> <97260e8b-1892-49a5-3792-0e3c28378fc0@linux.intel.com> In-Reply-To: <97260e8b-1892-49a5-3792-0e3c28378fc0@linux.intel.com> From: Kai-Heng Feng Date: Thu, 11 May 2023 21:34:26 +0800 Message-ID: Subject: Re: [PATCH v4 2/3] PCI/AER: Disable AER interrupt on suspend To: Sathyanarayanan Kuppuswamy Cc: bhelgaas@google.com, mika.westerberg@linux.intel.com, koba.ko@canonical.com, Mahesh J Salgaonkar , "Oliver O'Halloran" , linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 25, 2023 at 7:47=E2=80=AFAM Sathyanarayanan Kuppuswamy wrote: > > > > On 4/23/23 10:52 PM, Kai-Heng Feng wrote: > > PCIe service that shares IRQ with PME may cause spurious wakeup on > > system suspend. > > > > PCIe Base Spec 5.0, section 5.2 "Link State Power Management" states > > that TLP and DLLP transmission is disabled for a Link in L2/L3 Ready > > (D3hot), L2 (D3cold with aux power) and L3 (D3cold), so we don't lose > > much here to disable AER during system suspend. > > > > This is very similar to previous attempts to suspend AER and DPC [1], > > but with a different reason. > > > > [1] https://lore.kernel.org/linux-pci/20220408153159.106741-1-kai.heng.= feng@canonical.com/ > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=3D216295 > > > > Reviewed-by: Mika Westerberg > > Signed-off-by: Kai-Heng Feng > > --- > > IIUC, you encounter AER errors during the suspend/resume process, which > results in AER IRQ. Because AER and PME share an IRQ, it is regarded as a > spurious wake-up IRQ. So to fix it, you want to disable AER reporting, > right? > > It looks like it is harmless to disable the AER during the suspend/resume > path. But, I am wondering why we get these errors? Did you check what err= ors > you get during the suspend/resume path? Are these errors valid? AFAIK those errors comes from firmware/hardware side, especially when the device gets put to D3hot/D3cold. Kai-Heng > > > > drivers/pci/pcie/aer.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c > > index 1420e1f27105..9c07fdbeb52d 100644 > > --- a/drivers/pci/pcie/aer.c > > +++ b/drivers/pci/pcie/aer.c > > @@ -1356,6 +1356,26 @@ static int aer_probe(struct pcie_device *dev) > > return 0; > > } > > > > +static int aer_suspend(struct pcie_device *dev) > > +{ > > + struct aer_rpc *rpc =3D get_service_data(dev); > > + struct pci_dev *pdev =3D rpc->rpd; > > + > > + aer_disable_irq(pdev); > > + > > + return 0; > > +} > > + > > +static int aer_resume(struct pcie_device *dev) > > +{ > > + struct aer_rpc *rpc =3D get_service_data(dev); > > + struct pci_dev *pdev =3D rpc->rpd; > > + > > + aer_enable_irq(pdev); > > + > > + return 0; > > +} > > + > > /** > > * aer_root_reset - reset Root Port hierarchy, RCEC, or RCiEP > > * @dev: pointer to Root Port, RCEC, or RCiEP > > @@ -1420,6 +1440,8 @@ static struct pcie_port_service_driver aerdriver = =3D { > > .service =3D PCIE_PORT_SERVICE_AER, > > > > .probe =3D aer_probe, > > + .suspend =3D aer_suspend, > > + .resume =3D aer_resume, > > .remove =3D aer_remove, > > }; > > > > -- > Sathyanarayanan Kuppuswamy > Linux Kernel Developer