From patchwork Fri Feb 23 08:58:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Denis V. Lunev\" via" X-Patchwork-Id: 13568758 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C699EC5478C for ; Fri, 23 Feb 2024 09:00:46 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rdROv-0002iQ-1w; Fri, 23 Feb 2024 03:59:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rdROt-0002ho-7S for qemu-devel@nongnu.org; Fri, 23 Feb 2024 03:59:23 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rdROq-0002up-Ql for qemu-devel@nongnu.org; Fri, 23 Feb 2024 03:59:22 -0500 Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Th3jt3rLbz6K6cC; Fri, 23 Feb 2024 16:54:58 +0800 (CST) Received: from lhrpeml500006.china.huawei.com (unknown [7.191.161.198]) by mail.maildlp.com (Postfix) with ESMTPS id 20D221414C4; Fri, 23 Feb 2024 16:59:07 +0800 (CST) Received: from SecurePC30232.china.huawei.com (10.122.247.234) by lhrpeml500006.china.huawei.com (7.191.161.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 23 Feb 2024 08:59:06 +0000 To: , CC: , , , , , , Subject: [PATCH v5 0/3] hw/cxl/cxl-mailbox-utils: Add feature commands, device patrol scrub control and DDR5 ECS control features Date: Fri, 23 Feb 2024 16:58:59 +0800 Message-ID: <20240223085902.1549-1-shiju.jose@huawei.com> X-Mailer: git-send-email 2.35.1.windows.2 MIME-Version: 1.0 X-Originating-IP: [10.122.247.234] X-ClientProxiedBy: lhrpeml100001.china.huawei.com (7.191.160.183) To lhrpeml500006.china.huawei.com (7.191.161.198) Received-SPF: pass client-ip=185.176.79.56; envelope-from=shiju.jose@huawei.com; helo=frasgout.his.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: X-Patchwork-Original-From: shiju.jose--- via From: "Denis V. Lunev\" via" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Shiju Jose Add support for the feature commands, device patrol scrub control and DDR5 ECS control features. CXL spec 3.1 section 8.2.9.6 describes optional device specific features. CXL spec 3.1 section 8.2.9.9.11.1 describes the device patrol scrub control feature. CXL spec 3.1 section 8.2.9.9.11.2 describes the DDR5 Error Check Scrub (ECS) control feature. The patches are available here, https://gitlab.com/shiju.jose/qemu.git branch: cxl-scrub-2024-02-22 and is based on Jonathan's branch https://gitlab.com/jic23/qemu/-/tree/cxl-2024-02-14 Changes v4 -> v5 1. Changes for Jonathan's comments. Thanks. - Changed for separate scrub controls per CXL type3 device. - Added config flag settings for the feature entries. - Changed to for loop in the cmd_features_get_supported() function. - Changes for supporting multipart feature data transfers. etc. v3 -> v4 1. Rebased to Jonathan's latest branch cxl-2024-02-14. 2. Changes for Davidlohr's comments. Thanks. - Changed CXL feature attributes to static. - Rename attrb -> attr. - Use MIN(). 3. Added Reviewed-by: Fan Ni v2 -> v3 1. Rebased and updated for 3.1 specification. v1 -> v2 1. Changes for Davidlohr's comments. Thanks. - Changed CXL SET feature data transfer flags as enum. - Modified pointer supported_feats to get_feats_out. - Removed an unnecessary branch. - Use MIN(). - Move setting of hdr.nsuppfeats further down. - Return CXL_MBOX_UNSUPPORTED if non-zero selection flag is passed. - Add more IMMEDIATE_*.* flags set_feature. - Corrected a spelling error. Shiju Jose (3): hw/cxl/cxl-mailbox-utils: Add support for feature commands (8.2.9.6) hw/cxl/cxl-mailbox-utils: Add device patrol scrub control feature hw/cxl/cxl-mailbox-utils: Add device DDR5 ECS control feature hw/cxl/cxl-mailbox-utils.c | 395 ++++++++++++++++++++++++++++++++++++ hw/mem/cxl_type3.c | 23 +++ include/hw/cxl/cxl_device.h | 57 ++++++ 3 files changed, 475 insertions(+)