From patchwork Wed Mar 5 18:02:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shiju Jose X-Patchwork-Id: 14003159 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D593C19F32 for ; Wed, 5 Mar 2025 18:39:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B295280019; Wed, 5 Mar 2025 13:39:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 33C2328000F; Wed, 5 Mar 2025 13:39:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1DD24280019; Wed, 5 Mar 2025 13:39:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id EE5B128000F for ; Wed, 5 Mar 2025 13:39:31 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7864980944 for ; Wed, 5 Mar 2025 18:02:59 +0000 (UTC) X-FDA: 83188268478.15.D04D491 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf28.hostedemail.com (Postfix) with ESMTP id E4964C0024 for ; Wed, 5 Mar 2025 18:02:56 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf28.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741197777; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=kgtISi986Xonnr5ostNmsRWdQxUJ97zaTGPWfa/iVMM=; b=68IMn7lX1ss6rKjF870Ze4r+LiOuHbqtsCGUoOaaT2dNc69DHYQNv94L08OdKB5dpzr18k FoTbEgJMws305r9raUf+UQRRfYzoO2OJgHan25fcWyiI7DUamgPzf8TUkKwx6HpQZAmKcL Ea6+13SkfPdf32pcWFOG4Y5wV73pXJ4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf28.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741197777; a=rsa-sha256; cv=none; b=clNmi86OGW5aBH2e4N7ubQHThV/ggbBTPYw8EO4Xwzes/BV8958ZHugnH7PxPEBQ+4b906 lQ6WYVG19AO50SFzEdbNU9F3WesSg89y/n7OskTtoMecwQn9pf3bdXRy8vUCmmEjqZfVat yKqC103dBPWSiyAts3isxua7hrwsTeI= Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Z7Kzp1nrpz6L57s; Thu, 6 Mar 2025 01:58:46 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id 39DE61409EA; Thu, 6 Mar 2025 02:02:53 +0800 (CST) Received: from P_UKIT01-A7bmah.china.huawei.com (10.48.145.140) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 5 Mar 2025 19:02:51 +0100 From: To: , , , , , , , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH v2 0/3] ACPI: Add support for ACPI RAS2 feature table Date: Wed, 5 Mar 2025 18:02:21 +0000 Message-ID: <20250305180225.1226-1-shiju.jose@huawei.com> X-Mailer: git-send-email 2.43.0.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.48.145.140] X-ClientProxiedBy: lhrpeml500005.china.huawei.com (7.191.163.240) To frapeml500007.china.huawei.com (7.182.85.172) X-Stat-Signature: tynmaf4qxewooj7sf58zccxqreppdasz X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: E4964C0024 X-Rspam-User: X-HE-Tag: 1741197776-27155 X-HE-Meta: U2FsdGVkX18OxstaJH0b9Q6F8WxDJ4+CWkQqdbHamr6Fn0uSCY7SkN6Iej8anppcv4h1TAjyWJjMBl0hifMusqqh/LzRwqa4HEAdC6EZMSW5Gse94YWY3t5rn7hL83Dhzj/JuzavQKSnFd2xvYXM5xBd/9hXNDMiNbhed8Z6YEZS60EkS7WZp8tDfTeaZF5dn3RWckpw7kIbjiqAaf6DlhO4xLJzzySEmFsxWC1uTatvxZS+0c5SNddPZyhFSalJiV2xcY36QJPj1pEKusx/RHI3e52SrkpTKObzRhcwoeOHhw7XSyK7XLl5aSjr+hbVU68TKUYmSbgrX1Lju9UMVKtmQKYJdzQr29Rk+QDTmN/zZZcOclKZYzAMgOX2DE9PBMFjYCqgl+DCG8/+og2C898zcNNpo2USqx4zB3tgm834WhAT4qMwUmDyhIhXMmrycCUiaJoafs3vtiQS17QvbIvqvN2iZm0JLYf3LlKE2Yr7t6IIFbGwl4duFJpZQN6R5kZkHdPg7x+1ZFjou4CApUBLDHYo1gbTl3yxEioNmflp8DQ5uRQXryMxegttXQqhjZ3hevXWdv4mU1QxNAbCMkwYGgwgnQYr1/paUmKCQL9WG9Tw42t8Zrzi5lo3DFW+jAIOQ5PYUvwuq1oZBy1oitrVYp1WGmIR3IAyHNU1CxkFkJWUrEAsACP0BduEgk8BtdMC86HGNeLbtKgXzFgr3o3LLC3KHFO3Rqywd2XU3OuBL6G1hKBEYYmMIZCtM/Zhk59t5MCFAxFtQfHP5jzHHqB1mqnF8EwilA1BIfzHux0+xtnRW1RRGShsPQV3u3pjrJvatrDzh48NLj5cKd9qFJRjWfwlsM09DYZoATC6b5LzmDJ+zxSFPI5RljyP4N8i3Wsq1mPOvyeOorruXv3Tk5Pla4TE96+GG+VcLGV8uR2Hrp89gJ1coNWAPL+aJATZMAW8vK3rJH/pRT7j3Dn 8FZGZRa3 64VgY1l44/Y8Ggq8gNceo2awgpMpx92rfAJWlbDcK/0DFZTSYwfw7zaHzT8LsIqPr+8S4hcRdBAgPhOJDFRdCSsNzutT128bNBb4y7cybZYXAkNe8WQGT+/B9bJP+8CYZ+vcuZ4QpTZd0Fam5GkOC++FXlUgeS50pYUYLMa4a/OLpoimxAPNqzpL2M8nzdKX/Z4KLpYhyGskmj420+xszFYoKHI87QObL4OeD7j6Y1u/c22Y= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Shiju Jose Add support for ACPI RAS2 feature table (RAS2) defined in the ACPI 6.5 specification, section 5.2.21 and RAS2 HW based memory scrubbing feature. ACPI RAS2 patches were part of the EDAC series [1]. The code is based on ras.git: edac-cxl branch [2]. 1. https://lore.kernel.org/linux-cxl/20250212143654.1893-1-shiju.jose@huawei.com/ 2. https://web.git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git/log/?h=edac-cxl Changes ======= v1 -> v2: 1. Changes for feedbacks from Borislav. - Shorten ACPI RAS2 structures and variables names in "include/acpi/actbl2.h". - Shorten some of the other variables in the RAS2 drivers. - Fixed few CamelCases. 2. Changes for feedbacks from Yazen. - Added newline after number of '}' and return statements. - Changed return type for "ras2_add_aux_device() to 'int'. - Deleted a duplication of acpi_get_table("RAS2",...) in the ras2_acpi_parse_table(). - Add "FW_WARN" to few error logs in the ras2_acpi_parse_table(). - Rename ras2_acpi_init() to acpi_ras2_init() and modified to call acpi_ras2_init() function from the acpi_init(). - Moved scrub related variables from the struct ras2_mem_ctx from patch "ACPI:RAS2: Add ACPI RAS2 driver" to "ras: mem: Add memory ACPI RAS2 driver". 3. Rename file include/acpi/acpi_ras2.h to include/acpi/ras2.h Shiju Jose (3): ACPI: ACPI 6.5: RAS2: Shorten RAS2 table structure and variable names ACPI:RAS2: Add ACPI RAS2 driver ras: mem: Add memory ACPI RAS2 driver Documentation/edac/scrub.rst | 73 ++++++ drivers/acpi/Kconfig | 11 + drivers/acpi/Makefile | 1 + drivers/acpi/bus.c | 3 + drivers/acpi/ras2.c | 416 +++++++++++++++++++++++++++++++++++ drivers/ras/Kconfig | 11 + drivers/ras/Makefile | 1 + drivers/ras/acpi_ras2.c | 391 ++++++++++++++++++++++++++++++++ include/acpi/actbl2.h | 38 ++-- include/acpi/ras2.h | 54 +++++ 10 files changed, 980 insertions(+), 19 deletions(-) create mode 100755 drivers/acpi/ras2.c create mode 100644 drivers/ras/acpi_ras2.c create mode 100644 include/acpi/ras2.h