Received: by 10.192.165.148 with SMTP id m20csp3554649imm; Mon, 23 Apr 2018 08:27:16 -0700 (PDT) X-Google-Smtp-Source: AIpwx49kN6PKRRaT1sNYPi7Asb5/omNu25vurUz51pni/oMDYiGxqtmE/dQTHtacBGzfy2kyYVXD X-Received: by 10.99.128.73 with SMTP id j70mr17720580pgd.12.1524497236070; Mon, 23 Apr 2018 08:27:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524497236; cv=none; d=google.com; s=arc-20160816; b=rg3+2mr3i69eG1eLSwIHNCb2LpqtCCd8TuFnNwYWcz0w48cA96U06aE42a8JBguKkH kpvHQsUrFfFALGKDbPMkcP/dr/W9zSzVkjT1PjamaRWR4aDvCgyNf7nMBQEURiG218nI tVxtA/KqrZZdjcmqDcw1D45CBGgOWxmBqA06tR7thQGUyEBGJtlP3vKa8/b8Q6VV5cjn RHQZPr2CPv8WM8+oRVb2qAdFuOoo8yjlo3mWeo1DDQqoOvqLdjFgK/pfesjdSjfIt6oD EDhzo4DB25EQLIBo4uu52vfahlnEC3eASN8+7kIIYMjaZLDBa1EgRkDmU5dRWy2wslDJ wWxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=0RMJqL3Uz9nuAK6QtHNgOVgYQ8l8aRRhaV+xXnIIR6g=; b=xeONDx8DqKhl60RvqYS+UwmJFIGI4RvI7S4o0pLD+M8ja0liQ7d6FGkotd0HF/rLOO bhHC9pIYhaL++Xe9JbFC16vMZonmgqI8J+VddYzadjK5/yxsjX92u7NBMsoDMJFQqkns XmKm29aJhXeT/ggJk/I9R2kq9tTJjFLj4lWLy3zGF3LstjfR5XwyDhByKxobIZys7mnT aKTV5LulFUzOkABdWCKkXYV2jDnBnh8cOrPcHfppprEFKtJbjnMdSW3eTFIaDxA/opWD WG0n3eRu9SfWaxibni4hxUgNG114oxn9YSspYHeBiLrdSvV8tMPEv5NqUjs8PVmSowEl x2KQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k6-v6si11597778pla.509.2018.04.23.08.27.01; Mon, 23 Apr 2018 08:27:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932143AbeDWPYS (ORCPT + 99 others); Mon, 23 Apr 2018 11:24:18 -0400 Received: from alexa-out-sd-01.qualcomm.com ([199.106.114.38]:2244 "EHLO alexa-out-sd-01.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755790AbeDWPXS (ORCPT ); Mon, 23 Apr 2018 11:23:18 -0400 Received: from unknown (HELO ironmsg05-sd.qualcomm.com) ([10.53.140.145]) by alexa-out-sd-01.qualcomm.com with ESMTP; 23 Apr 2018 08:23:18 -0700 X-IronPort-AV: E=McAfee;i="5900,7806,8871"; a="68706662" Received: from westreach.qualcomm.com ([10.228.196.125]) by ironmsg05-sd.qualcomm.com with ESMTP; 23 Apr 2018 08:23:16 -0700 Received: by westreach.qualcomm.com (Postfix, from userid 467151) id B25371F0E; Mon, 23 Apr 2018 11:23:14 -0400 (EDT) From: Oza Pawandeep To: Bjorn Helgaas , Philippe Ombredanne , Thomas Gleixner , Greg Kroah-Hartman , Kate Stewart , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Dongdong Liu , Keith Busch , Wei Zhang , Sinan Kaya , Timur Tabi Cc: Oza Pawandeep Subject: [PATCH v14 9/9] pci-error-recovery: Add AER_FATAL handling Date: Mon, 23 Apr 2018 11:23:13 -0400 Message-Id: <1524496993-29799-10-git-send-email-poza@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1524496993-29799-1-git-send-email-poza@codeaurora.org> References: <1524496993-29799-1-git-send-email-poza@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It adds description on AER_FATAL error handling. Signed-off-by: Oza Pawandeep diff --git a/Documentation/PCI/pci-error-recovery.txt b/Documentation/PCI/pci-error-recovery.txt index 0b6bb3e..688b691 100644 --- a/Documentation/PCI/pci-error-recovery.txt +++ b/Documentation/PCI/pci-error-recovery.txt @@ -110,7 +110,7 @@ The actual steps taken by a platform to recover from a PCI error event will be platform-dependent, but will follow the general sequence described below. -STEP 0: Error Event +STEP 0: Error Event: ERR_NONFATAL ------------------- A PCI bus error is detected by the PCI hardware. On powerpc, the slot is isolated, in that all I/O is blocked: all reads return 0xffffffff, @@ -228,13 +228,7 @@ proceeds to either STEP3 (Link Reset) or to STEP 5 (Resume Operations). If any driver returned PCI_ERS_RESULT_NEED_RESET, then the platform proceeds to STEP 4 (Slot Reset) -STEP 3: Link Reset ------------------- -The platform resets the link. This is a PCI-Express specific step -and is done whenever a fatal error has been detected that can be -"solved" by resetting the link. - -STEP 4: Slot Reset +STEP 3: Slot Reset ------------------ In response to a return value of PCI_ERS_RESULT_NEED_RESET, the @@ -320,7 +314,7 @@ Failure). >>> However, it probably should. -STEP 5: Resume Operations +STEP 4: Resume Operations ------------------------- The platform will call the resume() callback on all affected device drivers if all drivers on the segment have returned @@ -332,7 +326,7 @@ a result code. At this point, if a new error happens, the platform will restart a new error recovery sequence. -STEP 6: Permanent Failure +STEP 5: Permanent Failure ------------------------- A "permanent failure" has occurred, and the platform cannot recover the device. The platform will call error_detected() with a @@ -355,6 +349,27 @@ errors. See the discussion in powerpc/eeh-pci-error-recovery.txt for additional detail on real-life experience of the causes of software errors. +STEP 0: Error Event: ERR_FATAL +------------------- +PCI bus error is detected by the PCI hardware. On powerpc, the slot is +isolated, in that all I/O is blocked: all reads return 0xffffffff, all +writes are ignored. + +STEP 1: Remove devices +-------------------- +Platform removes the devices depending on the error agent, it could be +this port for all subordinates or upstream component (likely downstream +port) + +STEP 2: Reset link +-------------------- +The platform resets the link. This is a PCI-Express specific step and is +done whenever a fatal error has been detected that can be "solved" by +resetting the link. + +STEP 3: Re-enumerate the devices +-------------------- +Initiates the re-enumeration. Conclusion; General Remarks --------------------------- -- 2.7.4