From patchwork Mon Apr 20 21:37:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Derrick X-Patchwork-Id: 11499925 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6885414DD for ; Mon, 20 Apr 2020 22:01:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4C9E120857 for ; Mon, 20 Apr 2020 22:01:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726469AbgDTWBK (ORCPT ); Mon, 20 Apr 2020 18:01:10 -0400 Received: from mga02.intel.com ([134.134.136.20]:16270 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725774AbgDTWBK (ORCPT ); Mon, 20 Apr 2020 18:01:10 -0400 IronPort-SDR: qoKQfzJteL6RsgVaj3P4Yh5WIKXd7CNFILYXA790Hs7HO4gfQMQp0475twJRuDUWVbtjeJ5NYn /eIut/iIlViQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 15:01:09 -0700 IronPort-SDR: v2mUQIi7v4D2xKtxr60yP70J2b/UTKidQjQWc+qcN/GLGbMyj6G/H9MxT9qEkCptVqixd2RvNN D8D5syiZFlVQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,407,1580803200"; d="scan'208";a="455848311" Received: from unknown (HELO nsgsw-wilsonpoint.lm.intel.com) ([10.232.116.102]) by fmsmga005.fm.intel.com with ESMTP; 20 Apr 2020 15:01:07 -0700 From: Jon Derrick To: Bjorn Helgaas Cc: , Keith Busch , Jon Derrick , Russell Currey , Sam Bobroff , "Oliver O'Halloran" , Bjorn Helgaas , Kuppuswamy Sathyanarayanan , Andy Shevchenko , Frederick Lawler , Rajat Jain , "Patel, Mayurkumar" , Olof Johansson , "Rafael J. Wysocki" , Mika Westerberg , Alex Williamson , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/2] Honoring Native AER/DPC Host Bridges Date: Mon, 20 Apr 2020 15:37:08 -0600 Message-Id: <1587418630-13562-1-git-send-email-jonathan.derrick@intel.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org The two patches here force AER and DPC to honor the Host Bridge's Native AER/DPC settings. This is under the assumption that when these bits are set, that Firmware-First AER/DPC should not be in use for these ports. This assumption seems to be true in ACPI, which explicitly clears these capability settings in the host bridge if the service cannot be negotiated with _OSC. This also fixes an issue I've seen in a few platforms whose BIOS and/or switch firmware leaves DPC preconfigured. In these cases, the kernel DPC driver cannot bind a handler to the interrupt and could result in unmanaged DPC link down events. Jon Derrick (2): PCI/AER: Allow Native AER Host Bridges to use AER PCI/DPC: Allow Native DPC Host Bridges to use DPC drivers/pci/pcie/aer.c | 3 +++ drivers/pci/pcie/dpc.c | 3 ++- drivers/pci/pcie/portdrv_core.c | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-)