From patchwork Tue Mar 21 18:00:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Cameron X-Patchwork-Id: 13184307 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 01753C6FD1F for ; Wed, 22 Mar 2023 16:29:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pf1Kx-0005Tr-W0; Wed, 22 Mar 2023 12:29:20 -0400 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 1pf1Kw-0005SK-7K for qemu-devel@nongnu.org; Wed, 22 Mar 2023 12:29:18 -0400 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 1pf1Ku-0002wq-KA for qemu-devel@nongnu.org; Wed, 22 Mar 2023 12:29:17 -0400 Received: from lhrpeml500005.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4PgznV67d4z6YpMq; Wed, 22 Mar 2023 01:56:46 +0800 (CST) Received: from SecurePC-101-06.china.huawei.com (10.122.247.231) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Tue, 21 Mar 2023 18:00:06 +0000 To: Michael Tsirkin , CC: , Fan Ni , Dave Jiang , Subject: [PATCH 0/2] hw/cxl: Fix decoder commit and uncommit handling Date: Tue, 21 Mar 2023 18:00:10 +0000 Message-ID: <20230321180012.2545-1-Jonathan.Cameron@huawei.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 X-Originating-IP: [10.122.247.231] X-ClientProxiedBy: lhrpeml100005.china.huawei.com (7.191.160.25) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected Received-SPF: pass client-ip=185.176.79.56; envelope-from=jonathan.cameron@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_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: Jonathan Cameron X-Patchwork-Original-From: Jonathan Cameron via From: Jonathan Cameron Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Issue reported in discussion of: https://lore.kernel.org/all/20230228224014.1402545-1-fan.ni@samsung.com/ The committed bit for HDM decoders is expected reset when commit transitions from 1->0. Whilst looking at that it was noticed that hardware was resetting the commit bit which is not an option allowed by the CXL spec. In common with many other areas the code did not take into account big endian architectures, so fix that whilst we are here. Note testing this exposed a kernel bug around repeated attempts to clear a decoder out of order. That's been reported but not yet fixed. Jonathan Cameron (2): hw/cxl: Fix endian handling for decoder commit. hw/cxl: Fix incorrect reset of commit and associated clearing of committed. hw/cxl/cxl-component-utils.c | 14 ++++++++------ hw/mem/cxl_type3.c | 28 +++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 9 deletions(-)