Received: by 10.192.165.148 with SMTP id m20csp1425694imm; Wed, 2 May 2018 22:07:34 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqH/ZHsAkG0abX8lHD6orMmEsqfEBs8p6uQB4L20ZJipTVGKj/12fJfqZwN/wpA62DV8PZk X-Received: by 10.98.20.195 with SMTP id 186mr4224557pfu.92.1525324054765; Wed, 02 May 2018 22:07:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525324054; cv=none; d=google.com; s=arc-20160816; b=sJDrgbMtCCUWMwHYzrWKYK6zYA91xDc+9iji56yDZwdTnFfPzXqVlMhBJuj1j0A9OQ 6rUs3S3KwY4vE9zoCjdgxFG+h3vFBsFckWrec2tmdz5Rghkzn/OqUTqafVQC2F47q8XJ 5apIHLoikpiJJnxbqsHcSnow0usI2khRj60vaSwxH5KEhA9BIIt71kEKIYDarGQZP/71 kSMe1urzAPzI6jDLNfEoac68dqR+LjFMOrCIbBu3Nylu0WrXON6eY/Wb3b7KW0I9DShU cWXw52YcRi3/KUzmN6uX0pWYgykZrX3Tjgawsd2dOvIHk+5gzX/OeYgKlAa2yEHHluvO PZRg== 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=ack+iYuXI/w+UUmzViCz+DBHBuGN0215TfxqIYXEfSH/7zSTROUWPO/zHTM1HKnD0N qqjc7Vh9hOB/CXTtFOTdd3DO9N+1VYvoyyCgJoKUapYuGioZAYnBHEqjEXD9eo7FQJ6+ nXNdvNG4un7fUt/Y3hvCbNNff6jeSEvaUXYb2AIL8izznuKMaliTW2flwzJ9/l8x2RFj Oe4dVI+eD3uVHsPrs7PvQ/ZyS1Xr4Y/N0O0xe8h2lBpiXnxnh++DawHkGDeJOFfT8MMY yhPwe3QqePYE/wqspz43zPY2cKHJKrhMq7pC+aTUD+hUZ4BGdfNa75BKuOkbr8HLrFfH 6hqw== 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 g7si12545352pfg.264.2018.05.02.22.07.20; Wed, 02 May 2018 22:07:34 -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 S1752191AbeECFFf (ORCPT + 99 others); Thu, 3 May 2018 01:05:35 -0400 Received: from alexa-out.qualcomm.com ([129.46.98.28]:50400 "EHLO alexa-out.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751890AbeECFEF (ORCPT ); Thu, 3 May 2018 01:04:05 -0400 X-IronPort-AV: E=Sophos;i="5.49,356,1520924400"; d="scan'208";a="17319041" Received: from ironmsg03-sd.qualcomm.com ([10.53.140.143]) by alexa-out.qualcomm.com with ESMTP; 02 May 2018 22:04:04 -0700 X-IronPort-AV: E=McAfee;i="5900,7806,8881"; a="152473227" Received: from westreach.qualcomm.com ([10.228.196.125]) by ironmsg03-sd.qualcomm.com with ESMTP; 02 May 2018 22:04:02 -0700 Received: by westreach.qualcomm.com (Postfix, from userid 467151) id BB8B31F26; Thu, 3 May 2018 01:04:01 -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 v15 2/9] pci-error-recovery: Add AER_FATAL handling Date: Thu, 3 May 2018 01:03:51 -0400 Message-Id: <1525323838-1735-3-git-send-email-poza@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1525323838-1735-1-git-send-email-poza@codeaurora.org> References: <1525323838-1735-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