From patchwork Mon Jun 15 10:09:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shiju Jose X-Patchwork-Id: 187934 Delivered-To: patch@linaro.org Received: by 2002:a92:cf06:0:0:0:0:0 with SMTP id c6csp2603857ilo; Mon, 15 Jun 2020 03:12:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzBV7GHB69hOnxFVxM8fm/Nv/krB6IQpNwla/w/DVRX/u+Xojf04f394gl1lx9Fx4GJuwmH X-Received: by 2002:a17:906:5e08:: with SMTP id n8mr24950055eju.132.1592215972006; Mon, 15 Jun 2020 03:12:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592215972; cv=none; d=google.com; s=arc-20160816; b=tqpTx7zGmJT0zK2dog9AMkfF3i/8Mtg2SaZugaokr54nU+pbu14NneJrKKToAjVFuV 9Wo3XGjgb1bLZ0N83gvGfb48QaaOoTRMZXFZAAKyEQ1NlAbo+kYs+BRzabhkPiQGwE12 hV3bqHs5tYhGyiBt2vPIJF1mLd77thJbV4huwZufM+oxOV3cGyjgN9G5KqYnfb9hB8MT ML0YuleQZGhem/NpU4qpFo6f6EC8rx07M6u+9uImWesM/BvkA/9eEsGYdjb7uRXd9LOg Jo1MtBhxa4hwNwZzsoygCsLSeTrujEOC37DjomDscacTMxABnm1qIQ6mvrURDwQviqWX i6ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=FrDDaTndQJxVK70Ln+dw2rR/msmhxigoJywT/19sjGs=; b=g79RzP8DJnmZ86bfFdlhKAg7pBDF4Fc/ukLwK8pyKfyEXngwL+RiL4Yo443OUYhPJG Q2DA4ndJkrULHdWlDNz/V//QcijOQI298gA2QbtGPURLtVzaI90/1kIlhdAxquaaRj8Y RUb311uKtKuXCATp0ME1w8J1nE5n8/f4zr9TBiAMnqnFOQ/mblYr0SMGsMjzg7M2VCqd g75U6IP6WJ9YBa2pkt9GJTkHezlyUMLFej4flNTGIzOjvPgoY7jEf6myP6lsocyFrpWn 8Ael2rssi5VAFdVQDnSKccy8DlfOuXWdTVFvFLmjfqHFwh9x/r2cqyLk9rqfUJS6tyAP 1cjg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-acpi-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-acpi-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y19si8071578edm.387.2020.06.15.03.12.51; Mon, 15 Jun 2020 03:12:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-acpi-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-acpi-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-acpi-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729027AbgFOKMr (ORCPT + 7 others); Mon, 15 Jun 2020 06:12:47 -0400 Received: from lhrrgout.huawei.com ([185.176.76.210]:2308 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728368AbgFOKMr (ORCPT ); Mon, 15 Jun 2020 06:12:47 -0400 Received: from lhreml715-chm.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id D56DDB752A101E85160F; Mon, 15 Jun 2020 11:12:45 +0100 (IST) Received: from DESKTOP-6T4S3DQ.china.huawei.com (10.47.26.179) by lhreml715-chm.china.huawei.com (10.201.108.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Mon, 15 Jun 2020 11:12:45 +0100 From: Shiju Jose To: , , , , , , , , , , , , CC: , , , Subject: [PATCH v9 0/2] ACPI / APEI: Add support to notify the vendor specific HW errors Date: Mon, 15 Jun 2020 11:09:57 +0100 Message-ID: <20200615100959.499-1-shiju.jose@huawei.com> X-Mailer: git-send-email 2.26.0.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.47.26.179] X-ClientProxiedBy: lhreml732-chm.china.huawei.com (10.201.108.83) To lhreml715-chm.china.huawei.com (10.201.108.66) X-CFilter-Loop: Reflected Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Presently the vendor drivers are unable to do the recovery for the vendor specific recoverable HW errors because APEI driver does not support reporting the error to the vendor drivers. patch set 1. add new interface to the APEI driver for reporting the vendor specific non-fatal HW errors to the drivers. 2. add driver to handle HiSilicon hip PCIe controller's errors. V9: 1. Fixed 2 improvements suggested by the kbuild test robot. 1.1 Change ghes_gdata_pool_init() as static function. 1.2. Removed using buffer to store the error data for logging in the hisi_pcie_handle_error() V8: 1. Removed reporting the standard errors through the interface because of the conflict with the recent patches in the memory error handling path. 2. Fix comments by Dan Carpenter. V7: 1. Add changes in the APEI driver suggested by Borislav Petkov, for queuing up all the non-fatal HW errors to the work queue and notify the registered kernel drivers from the bottom half using blocking notifier, common interface for both standard and vendor-spcific errors. 2. Fix for further feedbacks in v5 HIP PCIe error handler driver by Bjorn Helgaas. V6: 1. Fix few changes in the patch subject line suggested by Bjorn Helgaas. V5: 1. Fix comments from James Morse. 1.1 Changed the notification method to use the atomic_notifier_chain. 1.2 Add the error handled status for the user space. V4: 1. Fix for the following smatch warning in the PCIe error driver, reported by kbuild test robot: warn: should '((((1))) << (9 + i))' be a 64 bit type? if (err->val_bits & BIT(HISI_PCIE_LOCAL_VALID_ERR_MISC + i)) ^^^ This should be BIT_ULL() because it goes up to 9 + 32. V3: 1. Fix the comments from Bjorn Helgaas. V2: 1. Changes in the HiSilicon PCIe controller's error handling driver for the comments from Bjorn Helgaas. 2. Changes in the APEI interface to support reporting the vendor error for module with multiple devices, but use the same section type. In the error handler will use socket id/sub module id etc to distinguish the device. V1: 1. Fix comments from James Morse. 2. add driver to handle HiSilicon hip08 PCIe controller's errors, which is an application of the above interface. Shiju Jose (1): ACPI / APEI: Add support to notify the vendor specific HW errors Yicong Yang (1): PCI: hip: Add handling of HiSilicon HIP PCIe controller errors drivers/acpi/apei/ghes.c | 130 +++++++++- drivers/pci/controller/Kconfig | 8 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-hisi-error.c | 305 +++++++++++++++++++++++ include/acpi/ghes.h | 28 +++ 5 files changed, 471 insertions(+), 1 deletion(-) create mode 100644 drivers/pci/controller/pcie-hisi-error.c -- 2.17.1