From mboxrd@z Thu Jan 1 00:00:00 1970 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 990D0C43334 for ; Tue, 7 Jun 2022 10:57:56 +0000 (UTC) Received: from localhost ([::1]:39070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nyWuJ-0003BW-54 for qemu-devel@archiver.kernel.org; Tue, 07 Jun 2022 06:57:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34276) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyWfC-0001bR-Jq for qemu-devel@nongnu.org; Tue, 07 Jun 2022 06:42:18 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:2601) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyWfA-00086s-0Q for qemu-devel@nongnu.org; Tue, 07 Jun 2022 06:42:18 -0400 Received: from fraeml706-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4LHRj92rf9z6H79p; Tue, 7 Jun 2022 18:41:01 +0800 (CST) Received: from lhreml710-chm.china.huawei.com (10.201.108.61) by fraeml706-chm.china.huawei.com (10.206.15.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.24; Tue, 7 Jun 2022 12:42:12 +0200 Received: from localhost (10.202.226.42) by lhreml710-chm.china.huawei.com (10.201.108.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 7 Jun 2022 11:42:11 +0100 Date: Tue, 7 Jun 2022 11:42:10 +0100 To: Ben Widawsky CC: , "Michael S . Tsirkin" , "Paolo Bonzini" , , , , Marcel Apfelbaum , Igor Mammedov , Markus Armbruster , Mark Cave-Ayland , "Adam Manzanares" , Tong Zhang , Shameerali Kolothum Thodi Subject: Re: [PATCH] hw/cxl: Fix missing write mask for HDM decoder target list registers Message-ID: <20220607114210.00005e4e@Huawei.com> In-Reply-To: <20220606173952.66q3gtwtydrs7xwb@bwidawsk-mobl5> References: <20220531123953.17582-1-Jonathan.Cameron@huawei.com> <20220606173952.66q3gtwtydrs7xwb@bwidawsk-mobl5> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.29; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.226.42] X-ClientProxiedBy: lhreml732-chm.china.huawei.com (10.201.108.83) To lhreml710-chm.china.huawei.com (10.201.108.61) 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: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Reply-to: Jonathan Cameron From: Jonathan Cameron via On Mon, 6 Jun 2022 10:39:52 -0700 Ben Widawsky wrote: > On 22-05-31 13:39:53, Jonathan Cameron wrote: > > Without being able to write these registers, no interleaving is possible. > > More refined checks of HDM register state on commit to follow. > > > > Signed-off-by: Jonathan Cameron > > --- > > hw/cxl/cxl-component-utils.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/hw/cxl/cxl-component-utils.c b/hw/cxl/cxl-component-utils.c > > index 7985c9bfca..993248b5c0 100644 > > --- a/hw/cxl/cxl-component-utils.c > > +++ b/hw/cxl/cxl-component-utils.c > > @@ -174,6 +174,8 @@ static void hdm_init_common(uint32_t *reg_state, uint32_t *write_msk) > > write_msk[R_CXL_HDM_DECODER0_SIZE_LO + i * 0x20] = 0xf0000000; > > write_msk[R_CXL_HDM_DECODER0_SIZE_HI + i * 0x20] = 0xffffffff; > > write_msk[R_CXL_HDM_DECODER0_CTRL + i * 0x20] = 0x13ff; > > + write_msk[R_CXL_HDM_DECODER0_TARGET_LIST_LO + i * 0x20] = 0xffffffff; > > + write_msk[R_CXL_HDM_DECODER0_TARGET_LIST_HI + i * 0x20] = 0xffffffff; > > I wonder if this should be 0. It will be weird for endpoints to have a skip > value of 0xff. For EP _LO should be 0xf0000000. But we haven't implemented skip yet IIRC. It should be all bits set for host bridges (or switches) and that's the bug this is fixing. We have access to the device type at the caller of this function, so I can make it right for both changes with a trivial change. Will send a v2 shortly... Thanks, Jonathan > > > } > > } > > > > -- > > 2.32.0 > >