From patchwork Tue Feb 28 09:20:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quan Nguyen X-Patchwork-Id: 62356 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp2909506wrd; Tue, 28 Feb 2023 01:25:33 -0800 (PST) X-Google-Smtp-Source: AK7set+z7Grw374IC0PAaQWvbh1XQkBc4kvXl7lbQPvkxigimypXTUAFyVzQ6xVgiTNYX3aCAtUk X-Received: by 2002:a17:907:6e26:b0:878:481c:c49b with SMTP id sd38-20020a1709076e2600b00878481cc49bmr2891435ejc.1.1677576333183; Tue, 28 Feb 2023 01:25:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1677576333; cv=pass; d=google.com; s=arc-20160816; b=me8KbxZzKKmDlxIAE7mQCPfB80DcWvrugM8VKGHKG0KOPJU8I4wd4iUp7ozAFRlZ0m /NcVTZ12r8V96/qoMZLA9kWCJavM2IVQliVFr4buJG7YuCKBUftUos/B29092hJV87gp bHB8+YDI8fq6xSyrL0dJTerlpf76en+V+F6kcJ5AAbg2iO/mqmCA7CKpO8b2qxVeKcSW DR4vTvp6Xvj9yDLryuB4uEHLJqL7UnQA7w6/EvmH8g4HVGSGaPBwX07yubJx2B/YW0SJ uVQDQOD4Bv9ijfc92UUlzWSd8NXW2sb8DtU6A3Pk09+YNs7EHxtJngxWJRaHgXRQo+Uc D9vA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=r0misMnx6cvjIGdOA5m/VXu6Mp0EgEiByanMBZdcmFw=; b=qAMIQ7lWaqLA18LhH5PFw0O3YGTtUGESrvlIfplafN/q2/XhtYKC7SX7PM+dwlZNvO w1t+Od0u/15pQTFaCyMnXj96MnJ66jInMpiJY1+cIol1wu7XGgrx7X8VdgoOFyPXRfjy x4PzFjanXW7jPdRFtQ59/mXecS5+P64qK1+Hz22Ct7efXiDnUeRWvvURizDjqI5BzCiA aHqjR0M00lLxIk4hkWw7dUVBwkXQUEvl9cmTd5rTt5e/lKkA48La/Vx3zoxlhAh7XOTl yN+7sqw+bribQgqPFjgGoFHuaitKvqlMrML/Zwfpq5Fn/HaSa1r5zprDEAo8S3iA9XY4 N0Cw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@os.amperecomputing.com header.s=selector2 header.b=pEWD+eG3; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=os.amperecomputing.com dmarc=pass fromdomain=os.amperecomputing.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amperecomputing.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ca24-20020aa7cd78000000b004acc5bb3e0esi2477453edb.562.2023.02.28.01.25.10; Tue, 28 Feb 2023 01:25:33 -0800 (PST) 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=@os.amperecomputing.com header.s=selector2 header.b=pEWD+eG3; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=os.amperecomputing.com dmarc=pass fromdomain=os.amperecomputing.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amperecomputing.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231182AbjB1JUs (ORCPT + 99 others); Tue, 28 Feb 2023 04:20:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230291AbjB1JUl (ORCPT ); Tue, 28 Feb 2023 04:20:41 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2125.outbound.protection.outlook.com [40.107.243.125]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B61FA1E5FD for ; Tue, 28 Feb 2023 01:20:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZlMZ4yB/NWoPaeCLL+4DqNLwyVWpY2iULNvpUWeX4izsfG2WjCcwOy/Uio2P95L6NANmCSHOmNwvul14JvmdPGCzllIfWdXcSqdjyI71nMHZ/a3z1zX0gpD4XbRwQeT0/ZfH9+jwl7hbdZIquDT6xwzVn653OJyMgKicKamia7ktLDNDagphxlgK/0FuuIHrMnCH6xYBCrcfGuoNB5J62AP8koIo7MG8gsYkqs3IAkiZBVdiAhTPYKonl/8Wo/yLGzYVTU1Dq5EY2ChMYF8o3vIIl9qO7WU3b1a8DiS3cFXo34PpUp1lpYAdGCy0bYilnOFpcxf5G1FpEsAxmR+neA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r0misMnx6cvjIGdOA5m/VXu6Mp0EgEiByanMBZdcmFw=; b=gsmI6unjzLQSSbWuemUE9tAkK31lvm4bz5P4RjiuhVoqZs3sieB2qqVt1OLvR8saHfKEA1rY/pKOyP6QycNxsM715bUM6Y9LcHMwSdgv51df713PcDTvbFknEPTkR0BogNyhp/WHpUyblZIi8X6XLT4EnhG2YuOrtuf5BscvTm/cwuZ+km11gKpi5YkuFSD9KKl4ytxjY2IMNr7uhqECQi6DsTZ8oCqMfV2OVIMx5enleUEdPMbuZxJTLxfSD97AWaw9aWzhWrB9Eif5nOEj57SxhEUMhD157xErqJdTfh4PQqpDr1pnZGUJlS8DSSRh0sUFuwubqGficSoeMn9KPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r0misMnx6cvjIGdOA5m/VXu6Mp0EgEiByanMBZdcmFw=; b=pEWD+eG3niL4y8y4kEg7uE4D3Qx6IyvDaAxzRbg0WgpFvc+veUfzrLlBjIoKy/WmNgWriHBOhjXpyiMtSvJqYhvdIm4qbME70fIm9yOof23OpXRtV0/nCw4dKcSz1TFvAtH2D3T2lzRpSQHV4wqjis9TSxGXQtUy/J1nye4Knew= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN4PR01MB7455.prod.exchangelabs.com (2603:10b6:806:202::11) by MN0PR01MB7780.prod.exchangelabs.com (2603:10b6:208:37f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 09:20:34 +0000 Received: from SN4PR01MB7455.prod.exchangelabs.com ([fe80::ff57:42f9:7d6d:de10]) by SN4PR01MB7455.prod.exchangelabs.com ([fe80::ff57:42f9:7d6d:de10%3]) with mapi id 15.20.6134.028; Tue, 28 Feb 2023 09:20:34 +0000 From: Quan Nguyen To: Quan Nguyen , Arnd Bergmann , Greg Kroah-Hartman , Paul Menzel , Joel Stanley , Andrew Jeffery , linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org, Open Source Submission Cc: Phong Vo , Thang Nguyen Subject: [PATCH v2 1/2] misc: smpro-errmon: Add DIMM 2x Refresh rate event Date: Tue, 28 Feb 2023 16:20:09 +0700 Message-Id: <20230228092010.1863419-2-quan@os.amperecomputing.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230228092010.1863419-1-quan@os.amperecomputing.com> References: <20230228092010.1863419-1-quan@os.amperecomputing.com> X-ClientProxiedBy: SGXP274CA0021.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::33) To SN4PR01MB7455.prod.exchangelabs.com (2603:10b6:806:202::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN4PR01MB7455:EE_|MN0PR01MB7780:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e8c0b60-bb23-4e34-eeaa-08db196d0bc5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W6fRP6zteCAKzq+9OAbhWIzhCHvKmEtnvW5+5lMPBE3YyXbLbT7Ac96pbjmKBBFQlDj//1cwFr95iGz4ANnXuSg/qt6zGZhnCxHFL7hmE2E6J38Dxjk65/UZNBaGJfOGHsc1lT6pPaAMrR0hS2q7TX7iC/kmhgkwjUYkk0W/yuh6claI7X/wOuCNdh+gX2iOVTUVFZTarg3PBx5EFgEKA0P5F2laIpQtZaj+rYatcanZ0wknoJkvug7YRfaCIzT+EHj8u//r5fzNRs9GvZtc17kTM/vXGiLIKNOad2UQwSoqrr3Rgj6vOA2PY11UC5EuY8KTbBeifLUTGvq5Qs3faBXFFtYHOTMGM+iVr5YJmPK7D37BGB+XoB1V3V91BoCeTqUEMfdJwm1jE3E5CXHYw10GAXLmlIDYsF0qkBkjnvO13FwjqOn3Y2bDvmmnAHUyPQcgBw8aXmE4UuXHxmhvEyx37wCaVfbM0L8oiqXdXex4/wKS6CS9DGVQ0llR3uIl5bBsRDrfZCEK1IGiKwp8pCT9zDM2gfy/cJinS+KPvH0Ys13m52iheKR7KY7uKILsL8e2lspTjDIwvRhslYRXCTEBKAplzJs52YyiXNZbxWrPtTfbLxsNhep7PBBArkP7/0ZfmF3RopBAcZ9VSGerIhRux1Eb59q7l73xK6NZiCaYVbDVcr3EnMSEasfmxeDwrABkNUahdFCnyeJCBgA0ng== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN4PR01MB7455.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39850400004)(396003)(376002)(346002)(136003)(451199018)(86362001)(8676002)(66556008)(4326008)(66946007)(8936002)(41300700001)(5660300002)(66476007)(2906002)(38100700002)(38350700002)(6486002)(316002)(478600001)(52116002)(107886003)(6666004)(110136005)(54906003)(1076003)(6506007)(2616005)(186003)(6512007)(83380400001)(26005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JnaNbgyebHc1N6g5wQOt71+xh00wA+CNVdaSNl934UC1fxaofKtkxJu98sqXmiRWn56Fv8phTREkJrIGxCB16Xe4t5+UrtFZjHmarG+tPkx50zYB5ny//DTqPplxJ30GFgp9B+joW5Mme/CfBrr0BwAMvhpgP88Y07NwQ1zbLsybZBCNZRXweoviGBq7phCVc92POPxDXa8CulfXkaYkkVEJizjdjeADtVMc+yxf8/G2hMiJ+bH8TMR+D86O26MJE5Q+FECw3EYNrBh3noVfELx9yNqUJnRLJxCQsrwcA9CFsHg07X3dW3DO9lNvwrPKPwUZHMzvZuCXwuR0IJl+izSoXndEqXqeMtxTlW2m8de1zKF1NlKCLs8C6O7Npb/5nnk8VjYFf1HSKX93Yd95VC3syFVaDfcX3RQkah0AQiofi+2Y9GQ3+otHX5gigY8bIoiRVnn7LBPQYKpjxQ6XXMyW4MkMMLHHWfz5QLZN97oHyQ2cUsWxwRPyETvivaD3j4OkB1JA7L6Uyb/97IUVvtlekPyDZMlz2S9dCB+1kjZyuUinsFcZBtfe20r7IAv0CqVEO7tYLNudNbFU9Rpjp3HlFUhegLofKtuzTQrzr4KHnzbKbXDcuKJOAD2oe74KP6qlqyegT1j6x9/hthx9QFH0NAscrk1ooo8b54rE/B0VI7RC0IiLjHHYyTV+zXwbPQqcZr8+H9Bda/WBHTymo8LVURosJY5YYdkoPaEGuEoa0xb2al+Q/pE+U++cvGlv5cNpBbH4cbu2mzboSkFht02e+yVcWDnXGK4uKIcLROU2nn0+nj1jpvQ0LzLfpVYczEchNtP21nPhy7iSsMXTxZHpDG/vb9+sHIzpozFt5Sg+wQc4O5NkjlDuyjJM57Y/cXspmnHpmrhqrmjbLixZUTkWA1tinstz5i6z7Vp/oGbd/OJCdjn0Q9mmh8h4//hWPYXAMNuAVVpu+FNyVNzmn6YYn7vE/sl8WwrBiubWXMJCqkQ24+UPblTTZgSmH/5EjZmIfMEJUHIO1g/tVLzYgudu4lsBneNbdFdmyP3szMpSrUrmFx+MnIgyo6jGWPNIQmjbFj/qGYwgBGuDbXQjwVG4KoTk037lgjuXwSmYIgkv01sMaYeZ1/2L+cSTMKJ7iActV6o0Lw707WXDIiYesIXHymkEo4Q7AQeTS4mu6Vp7XDFG2aWQwVonh9bvN3JqgQn8T5c7VI10stUUkIIxLzTF2v/kDmnAYWYLu7bOrt0pZqqBvympTnMrVIdArcXSuRa8BLBJ6aRM8JS7nakyV+/7AM44n1HiJrSJHSRjJXGZCauSs44idlfWkoWUklrhSJC4jlnRxidWBf2scny8TojGbQi3xPVEPqZOODRPjDf8CeIhBvOEH3BhADiuX1ospSaUAc3ObnyzTrmyNJ446NdXMmTVjY3gCkdZTHQLtybx5xiGBHri5sjKB3fNZy2RKBSN0TIqoGlXHtWlpyWMM0W/5uQGwJ1uDDsBtaGn595s08VwjpSYrZJhf3Tl2qvVl7INNkB4ZtvY5s9u1GvtYwLxGhrwTWTBZwudpR60y2Velq+FtY+zG2lK/6sygvQd2PfSby4YNV/WsSKNLscj0REZUZRCH2Rh8jAEu28oGJI= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e8c0b60-bb23-4e34-eeaa-08db196d0bc5 X-MS-Exchange-CrossTenant-AuthSource: SN4PR01MB7455.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2023 09:20:34.4894 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Xv1R0hQwzqh6oTtl9XXon+OMxd8VbO7F2VS4zkYbKSaJg2ET6raTACE5z+dMXmBe7eAOoVkLNaN8VzE8+u9yMu29dATmCiQUfMJPBdmiUPI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR01MB7780 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759066281249605811?= X-GMAIL-MSGID: =?utf-8?q?1759066281249605811?= In high temperature condition, JEDEC spec requires memory controller to double the refresh rate. This commit adds event_dimm_2x_refresh sysfs to report that events for all memory channels. Signed-off-by: Quan Nguyen --- v2: + Corrected kernel version to 6.3 [Greg,Paul] --- .../ABI/testing/sysfs-bus-platform-devices-ampere-smpro | 9 ++++++--- drivers/misc/smpro-errmon.c | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro index ca93c215ef99..5a8d1af49a2b 100644 --- a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro +++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro @@ -234,8 +234,8 @@ Description: For details, see section `5.10 RAS Internal Error Register Definitions, Altra Family Soc BMC Interface Specification`. -What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot] -KernelVersion: 6.1 +What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot|dimm_2x_refresh] +KernelVersion: 6.1 (event_[vrd_warn_fault|vrd_hot|dimm_hot]), 6.3 (event_dimm_2x_refresh) Contact: Quan Nguyen Description: (RO) Contains the detail information in case of VRD/DIMM warning/hot events @@ -258,8 +258,11 @@ Description: +---------------+---------------------------------------------------------------+---------------------+ | DIMM HOT | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot | DIMM Hot | +---------------+---------------------------------------------------------------+---------------------+ + | DIMM 2X | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_2x_refresh| DIMM 2x refresh rate| + | REFRESH RATE | | event in high temp | + +---------------+---------------------------------------------------------------+---------------------+ - For more details, see section `5.7 GPI Status Registers, + For more details, see section `5.7 GPI Status Registers and 5.9 Memory Error Register Definitions, Altra Family Soc BMC Interface Specification`. What: /sys/bus/platform/devices/smpro-misc.*/boot_progress diff --git a/drivers/misc/smpro-errmon.c b/drivers/misc/smpro-errmon.c index d1431d419aa4..1635e881aefb 100644 --- a/drivers/misc/smpro-errmon.c +++ b/drivers/misc/smpro-errmon.c @@ -67,6 +67,7 @@ #define VRD_WARN_FAULT_EVENT_DATA 0x78 #define VRD_HOT_EVENT_DATA 0x79 #define DIMM_HOT_EVENT_DATA 0x7A +#define DIMM_2X_REFRESH_EVENT_DATA 0x96 #define MAX_READ_BLOCK_LENGTH 48 @@ -190,6 +191,7 @@ enum EVENT_TYPES { VRD_WARN_FAULT_EVENT, VRD_HOT_EVENT, DIMM_HOT_EVENT, + DIMM_2X_REFRESH_EVENT, NUM_EVENTS_TYPE, }; @@ -198,6 +200,7 @@ static u8 smpro_event_table[NUM_EVENTS_TYPE] = { VRD_WARN_FAULT_EVENT_DATA, VRD_HOT_EVENT_DATA, DIMM_HOT_EVENT_DATA, + DIMM_2X_REFRESH_EVENT_DATA, }; static ssize_t smpro_event_data_read(struct device *dev, @@ -463,6 +466,7 @@ static DEVICE_ATTR_RO(warn_pmpro); EVENT_RO(vrd_warn_fault, VRD_WARN_FAULT_EVENT); EVENT_RO(vrd_hot, VRD_HOT_EVENT); EVENT_RO(dimm_hot, DIMM_HOT_EVENT); +EVENT_RO(dimm_2x_refresh, DIMM_2X_REFRESH_EVENT); static struct attribute *smpro_errmon_attrs[] = { &dev_attr_overflow_core_ce.attr, @@ -488,6 +492,7 @@ static struct attribute *smpro_errmon_attrs[] = { &dev_attr_event_vrd_warn_fault.attr, &dev_attr_event_vrd_hot.attr, &dev_attr_event_dimm_hot.attr, + &dev_attr_event_dimm_2x_refresh.attr, NULL }; From patchwork Tue Feb 28 09:20:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quan Nguyen X-Patchwork-Id: 62357 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp2909523wrd; Tue, 28 Feb 2023 01:25:35 -0800 (PST) X-Google-Smtp-Source: AK7set9XbFH2AIR1aEemqjY/pafpV7pzD4f8yqvVr3spKFyO6a/xjFChDa//JrpyMvwVCsDSv19F X-Received: by 2002:aa7:c545:0:b0:4ab:f00:a with SMTP id s5-20020aa7c545000000b004ab0f00000amr2637283edr.2.1677576334968; Tue, 28 Feb 2023 01:25:34 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1677576334; cv=pass; d=google.com; s=arc-20160816; b=uqdoXliem4321Pih17zPIPesl2qXuZsCtbXXiHj0y5/dpuMzg+ypfNXYC9zv3tHoCg oWonkW85f0BdNJL8t/UoS9DoYxRz64ISu7esBQeR8PYoy/PxylArd9YGzMcp6lAN38NU oVBgY3PorJ7fv0L4h2lgeOuYO67+i12Yt7AG0RWGzyKzZ1QAwu0KGB4L3LF0ztJyNHOj l6auoOpeYuSRc4Z5SRtD9csZ3BXwL0MbXOfyNoBMJ0tgWk+6MD67+rIbe+XlhKI4jYHZ fK3gaQrUzNcHCCeGWlekUy/YCV3e/hS9VFbnz7bi7rnWRoiYDy2E3BJ/be02pDiUMepx atEg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=HV3raVgT963lo0Qx8AhRmxaH03ccLTVpGLKw8OsSZFQ=; b=lMiQdhmHMogTJof3L4HFwECY7Si/rHt2dpXdZJP1TAFAJwYTWRAc0ynb+Ko/5oYzua d+g+hZzg/3x/dgJOteBUc2sQdmPp7fCWt2f7yrNe77x2e9HTOwyP/BgOYk2Vdo0wADsR YNw3CpEElze/o/0xUd8GZ7RCByEqog+4l7EJkUyC90PTIw9JYNCtl7XYsYQgdgdDJCA3 8OsfQmhr5zlDbolzSWMzBTA3MHVIEz8TDY5cN7XIntznCO/E/JXFhZcPZA2gYY1Tud7p UnkMTX8Q6h9tXOW6ED5I3X4wGnWmbNXfZace/CMLc9RCQcYe6v7lnBCmy8fpUef03V4e Z92A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@os.amperecomputing.com header.s=selector2 header.b=J1ko6Yhx; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=os.amperecomputing.com dmarc=pass fromdomain=os.amperecomputing.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amperecomputing.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h6-20020aa7c606000000b004acc4e9b6b6si9393141edq.400.2023.02.28.01.25.12; Tue, 28 Feb 2023 01:25:34 -0800 (PST) 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=@os.amperecomputing.com header.s=selector2 header.b=J1ko6Yhx; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=os.amperecomputing.com dmarc=pass fromdomain=os.amperecomputing.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amperecomputing.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231214AbjB1JUw (ORCPT + 99 others); Tue, 28 Feb 2023 04:20:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231164AbjB1JUs (ORCPT ); Tue, 28 Feb 2023 04:20:48 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2125.outbound.protection.outlook.com [40.107.243.125]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9A611F4BA for ; Tue, 28 Feb 2023 01:20:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JsHiM6BPzPkfZw7BZU8g+b7tt7QWjchwzeilWV/1l/zH3mRlGRT/LGb/NlaX3LkU1W0PKu4wesvfIZEzTFxZwJLs7Tt6HMH16gUeQ/Co8VI2FaWBGNy8wCJ/VaS1411XQyHMjIc6DjBHcZnMyOqmGGpRUEECMYbKT0q9FVdEflPKHRKKZX9OMXSV6JGahNqzDlckXXhKTp6EXpgi2SCr+MRoilRDDvHxh2kPeiDAaRXrSnT95SlZq8fmW4Yp6rNBodtJmBsAYG7quBwDJ3mvsx0LGePn6MTWXad5R2RSiPgRoj/OzgvfJ3mTPxYylcRiaCsnFn/taJljcXroq3UGaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HV3raVgT963lo0Qx8AhRmxaH03ccLTVpGLKw8OsSZFQ=; b=oWJIBvMK61qBxSqknHi254/zclcTtI0gZhAmrEzn+RJ4S9T2ptpwx/eRSGiExUK+gzyJxogg2sLQBSTRAsnaMzBtCDX5aiwv+3zJynI7EW3Zy5+CTbQX3LNgRNQefiNU8m7UAgWtAYfKYsy/I+B83e6SYhhb2bimIgo/kQL2IdL2hm57YndFtf2HnV82vQZqk0uqDRwDFhmjjHkobaa+9UjHdnNHcfjDZbQyqxXMpFDh2Ze8+4inupjIwnapCaAt9TariuBH45NMRLLVVKuKUePaVFPR6L72LbOnneTdheQR3ul/s0BUBbiosmePL68+/smvVyMFtEA4WGU9f9/8xQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HV3raVgT963lo0Qx8AhRmxaH03ccLTVpGLKw8OsSZFQ=; b=J1ko6YhxDSEk6i9aKVDRnObNnV6o9ufsBfCwouJ83/Ie7oYMLT41/rdxhv3FtzJBc8JQ8jwpCgqma7yF1+Vx57CzR071gkj7gUtewbe1FmOXHlsYY/kdU63g4h+C6ea5Al2EcnXm6L0PFzqUdLMPkQaaGHRQbX49m/WYg0sv1lE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN4PR01MB7455.prod.exchangelabs.com (2603:10b6:806:202::11) by MN0PR01MB7780.prod.exchangelabs.com (2603:10b6:208:37f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 09:20:38 +0000 Received: from SN4PR01MB7455.prod.exchangelabs.com ([fe80::ff57:42f9:7d6d:de10]) by SN4PR01MB7455.prod.exchangelabs.com ([fe80::ff57:42f9:7d6d:de10%3]) with mapi id 15.20.6134.028; Tue, 28 Feb 2023 09:20:38 +0000 From: Quan Nguyen To: Quan Nguyen , Arnd Bergmann , Greg Kroah-Hartman , Paul Menzel , Joel Stanley , Andrew Jeffery , linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org, Open Source Submission Cc: Phong Vo , Thang Nguyen Subject: [PATCH v2 2/2] misc: smpro-errmon: Add dimm training failure syndrome Date: Tue, 28 Feb 2023 16:20:10 +0700 Message-Id: <20230228092010.1863419-3-quan@os.amperecomputing.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230228092010.1863419-1-quan@os.amperecomputing.com> References: <20230228092010.1863419-1-quan@os.amperecomputing.com> X-ClientProxiedBy: SGXP274CA0021.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::33) To SN4PR01MB7455.prod.exchangelabs.com (2603:10b6:806:202::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN4PR01MB7455:EE_|MN0PR01MB7780:EE_ X-MS-Office365-Filtering-Correlation-Id: fd5f7b3b-316d-4fe3-0989-08db196d0dfb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nQf0d3T0LrgmFbxsJ1ck0ivHXC5LILDLDhUZWJsEDa+WyMWKJc+o4rhdUm9qtTiDm1ktS+uAeYSGZG2OYm5MjX2yeeknAEGXpxqppktb7O6hLoQ2ufN60ycNFCM1DTVWLsB454RsJB8Ni9enQSFjGHDX8tC7zVPhfbBBUOAUWE30bMB9/C6e9fa/jPmQqdNdZNClbdX5ftlYlig8Z6mrtmj7UikIT4bAMK1L8DtHhLL625/fuuOZq0NoNTaBT1uRzMvkOsuPb/MQRuQPQvoXg8FV5KVYYwrbwoEeaBSLm6Gu9cz1lhkSem0C4bq74Z73y/3BCdOQ0cHQ0hVfSdAdFFz8jnlZ7W8+XSoYq3hWWB4EezArYW2S6EKfrMnXfoqhMCiVitUhsu5g32+9/cCWyYrQKESwMyNpM4f331etLR158WsgrXP5H78kZs7u2pdQQ8wBVmkpDUF0agq+VHr34Z9MUc87l5FqkyFnhtwa/bfUY/BA+VTknUO/cEJ+MeNyIK72H6jM0cV/ztnPURpVR/frQ6qWP7RFSazZ8PeETtcJTGzwMkluSaoPuonzZNU3RpN7N2njkfzmEwHM77cplKU4kCcfR5vCFGUmRnLG61s6QAjZCuUD7/u/OAp0dg6ElrhF5wqf8SwO8x7Pc3kNh2LM88dX9LSB2kAmXAbjjwC9o/BCAgV/CN8M3wxLSY3S X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN4PR01MB7455.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39850400004)(396003)(376002)(346002)(136003)(451199018)(86362001)(8676002)(66556008)(4326008)(66946007)(8936002)(41300700001)(5660300002)(66476007)(2906002)(38100700002)(38350700002)(6486002)(316002)(478600001)(52116002)(107886003)(6666004)(110136005)(54906003)(1076003)(6506007)(2616005)(186003)(6512007)(83380400001)(26005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: f/1CKzMNCai8SF7Lhuz7LNDbNdWKXgdvVQhjFWjeVUPnO8uRGa16w/JJYlthNZM1DvGMl0vjiXiw+PP4JMso11BH8I0bG/+2qF22ue9q5F3ZEM+cQjp0q0gq3kD8oOpWo2Gq2A52cXtNdX6N9YZhbbGacbhi6c0/ditGuu1UndxcbpC1kM+Ja9ZmHwMN+H5esB78aO4EV+/gwOq0x8WDUclGHJ/JQr5Rt22A1KpW/wcoBUkrvEBDtEXpt1ljOtlBI3jvAGcLT5gyYZcPnBjZpTjIEG5j7uIUo8NFLORLz7xcfb/+zWi5S9DJUYdQsvsSvf0f/3zVhRff3Q9olairPyi8iHajucTHPjOa64Blshlr0YPwSH+fHYsXMkC4jcs61SDCsoWGp7evEOPgJLs10z68ypCgJhceOFr37nnO2/yEzwp1oRfhdmfXgoAPsD0LwegD2HPBUE7m7h1InC7z1FMrY3k4YrsV5ZzZsYQN1M2R3wrbHGIYhxm9NB0WNW1UrBvUBYraNZ8iej2MSq16mLotqkEo/P9P7ZiNQxAfGCVrUQmFYO0HRPGFolmY9FQrqV4Ke1F4M2vblpZgYUqSJg1pm23cR1XE33v203emTwVoBrWaWWRMj1X6sioREjP42os3WwnrFC0VBLOLa8DdHO6chYt58g2u7HU0vdvjO1lsyzPERpqudLWcmjGrv/uA99wyJWwMFYYUiI5KMy2HYjnKCaif0fzn8vG0u6CiHxf2pe9If0FNrlpBrfHupQh4pefNTGVqM7QxGDd073vNjx9xEYD5yXHeypoZXyBR4ozXe0wN8e+ApuXrONRdXU2z3vcuAfFdV0farP09ySA8NLjkeVIW74r2hk+on4YXebHxBZPSGJysi89XiXQfL+TOLfloNrwDTRe/AkYv63Dc6ctptsDocM8/YpcwRSN7VzH1LFk7qSaddERD+0m7A/aANuxEg0iM52Mx3UPoGe47c9ofO163uJk/nr7k3yJ4acomH5OBI+YviA4UdLEfDAl0PrlKHJD7tuJ49fu9/7f+WfbcU2EIaMw8w/3n0Ve7VO58wqwL69Ru0/N9DzUxd+BjsG3dW5fEmavwg5saoNw/8Fdr8wt1MO4LN3V0BBntd7jCPIWaYqoUMAlWh8DsomFqdTXKwsetlLFC3muj1lWXBY4bxK0zcWTb7NJA1dkB3nZaVMzJYCrm8OCtyQFCCB78tM487gL/rss0gLwpCtb3Rr0RyPFw5mOT9PwyePY+RsBm6rim/54yPrULyiAefBIiAkjKUuInwd2c0K/JF6Vev1twtNwt6xgjFfr9IjhGonNlYuIPf2YGq8d/XKY3FADsCGIcDK8Jk5rOcL9BukHFpre5xxah3v1Wci8vcR2QI3Bm0imeYuJY0hxHylp9esvx4ho3usyetdbfAR2guSVKMip0xaMcQsmm08bPD9j9I0ME7FNPnlvumrFEUjTK0vUwzwKWZYIiXx+jg3cEjGAYRGyuysLFYmPPOVzkVy2DU963TsQzO90+ng3VNZrFMnom2DH+kk74Tr4UwUzOdUQTvZRQgLlV05+fnh5pNg45VarMOz6x4UPC/TA9TAx7LJzgtBT4CIyyjzsOXLQCLjvZkQKPclaFqOgKFw8nlGBzSj8= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd5f7b3b-316d-4fe3-0989-08db196d0dfb X-MS-Exchange-CrossTenant-AuthSource: SN4PR01MB7455.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2023 09:20:38.3980 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QD1Sb56xnuBVKhhvyqMA8F1ySdInS5khIjFne4m92pEuvNyouhi9ZEMgz8Q79oLiKBlEp+SeKFdtTjdxnA0/CnlQqglcc4GaDNuMGR6zcQE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR01MB7780 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759066283415103582?= X-GMAIL-MSGID: =?utf-8?q?1759066283415103582?= Adds event_dimm[0-15]_syndrome sysfs to report the failure syndrome to BMC when DIMM training failed. Signed-off-by: Quan Nguyen --- v2: + Change "to initialized" to "to initialize" [Paul] + Corrected kernel version to 6.3 [Greg,Paul] + Corrected variables type to 'unsigned int" [Paul] --- .../sysfs-bus-platform-devices-ampere-smpro | 10 +++ drivers/misc/smpro-errmon.c | 77 +++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro index 5a8d1af49a2b..44101d3fed22 100644 --- a/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro +++ b/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro @@ -265,6 +265,16 @@ Description: For more details, see section `5.7 GPI Status Registers and 5.9 Memory Error Register Definitions, Altra Family Soc BMC Interface Specification`. +What: /sys/bus/platform/devices/smpro-errmon.*/event_dimm[0-15]_syndrome +KernelVersion: 6.3 +Contact: Quan Nguyen +Description: + (RO) The sysfs returns the 2-byte DIMM failure syndrome data for slot + 0-15 if it failed to initialize. + + For more details, see section `5.11 Boot Stage Register Definitions, + Altra Family Soc BMC Interface Specification`. + What: /sys/bus/platform/devices/smpro-misc.*/boot_progress KernelVersion: 6.1 Contact: Quan Nguyen diff --git a/drivers/misc/smpro-errmon.c b/drivers/misc/smpro-errmon.c index 1635e881aefb..a1f0b2c77fac 100644 --- a/drivers/misc/smpro-errmon.c +++ b/drivers/misc/smpro-errmon.c @@ -47,6 +47,12 @@ #define WARN_PMPRO_INFO_LO 0xAC #define WARN_PMPRO_INFO_HI 0xAD +/* Boot Stage Register */ +#define BOOTSTAGE 0xB0 +#define DIMM_SYNDROME_SEL 0xB4 +#define DIMM_SYNDROME_ERR 0xB5 +#define DIMM_SYNDROME_STAGE 4 + /* PCIE Error Registers */ #define PCIE_CE_ERR_CNT 0xC0 #define PCIE_CE_ERR_LEN 0xC1 @@ -468,6 +474,61 @@ EVENT_RO(vrd_hot, VRD_HOT_EVENT); EVENT_RO(dimm_hot, DIMM_HOT_EVENT); EVENT_RO(dimm_2x_refresh, DIMM_2X_REFRESH_EVENT); +static ssize_t smpro_dimm_syndrome_read(struct device *dev, struct device_attribute *da, + char *buf, unsigned int slot) +{ + struct smpro_errmon *errmon = dev_get_drvdata(dev); + unsigned int data; + int ret; + + ret = regmap_read(errmon->regmap, BOOTSTAGE, &data); + if (ret) + return ret; + + /* check for valid stage */ + data = (data >> 8) & 0xff; + if (data != DIMM_SYNDROME_STAGE) + return ret; + + /* Write the slot ID to retrieve Error Syndrome */ + ret = regmap_write(errmon->regmap, DIMM_SYNDROME_SEL, slot); + if (ret) + return ret; + + /* Read the Syndrome error */ + ret = regmap_read(errmon->regmap, DIMM_SYNDROME_ERR, &data); + if (ret || !data) + return ret; + + return sysfs_emit(buf, "%04x\n", data); +} + +#define EVENT_DIMM_SYNDROME(_slot) \ + static ssize_t event_dimm##_slot##_syndrome_show(struct device *dev, \ + struct device_attribute *da, \ + char *buf) \ + { \ + return smpro_dimm_syndrome_read(dev, da, buf, _slot); \ + } \ + static DEVICE_ATTR_RO(event_dimm##_slot##_syndrome) + +EVENT_DIMM_SYNDROME(0); +EVENT_DIMM_SYNDROME(1); +EVENT_DIMM_SYNDROME(2); +EVENT_DIMM_SYNDROME(3); +EVENT_DIMM_SYNDROME(4); +EVENT_DIMM_SYNDROME(5); +EVENT_DIMM_SYNDROME(6); +EVENT_DIMM_SYNDROME(7); +EVENT_DIMM_SYNDROME(8); +EVENT_DIMM_SYNDROME(9); +EVENT_DIMM_SYNDROME(10); +EVENT_DIMM_SYNDROME(11); +EVENT_DIMM_SYNDROME(12); +EVENT_DIMM_SYNDROME(13); +EVENT_DIMM_SYNDROME(14); +EVENT_DIMM_SYNDROME(15); + static struct attribute *smpro_errmon_attrs[] = { &dev_attr_overflow_core_ce.attr, &dev_attr_overflow_core_ue.attr, @@ -493,6 +554,22 @@ static struct attribute *smpro_errmon_attrs[] = { &dev_attr_event_vrd_hot.attr, &dev_attr_event_dimm_hot.attr, &dev_attr_event_dimm_2x_refresh.attr, + &dev_attr_event_dimm0_syndrome.attr, + &dev_attr_event_dimm1_syndrome.attr, + &dev_attr_event_dimm2_syndrome.attr, + &dev_attr_event_dimm3_syndrome.attr, + &dev_attr_event_dimm4_syndrome.attr, + &dev_attr_event_dimm5_syndrome.attr, + &dev_attr_event_dimm6_syndrome.attr, + &dev_attr_event_dimm7_syndrome.attr, + &dev_attr_event_dimm8_syndrome.attr, + &dev_attr_event_dimm9_syndrome.attr, + &dev_attr_event_dimm10_syndrome.attr, + &dev_attr_event_dimm11_syndrome.attr, + &dev_attr_event_dimm12_syndrome.attr, + &dev_attr_event_dimm13_syndrome.attr, + &dev_attr_event_dimm14_syndrome.attr, + &dev_attr_event_dimm15_syndrome.attr, NULL };