From nobody Fri Nov 14 23:29:47 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1759847160; cv=none; d=zohomail.com; s=zohoarc; b=Oohg7ABsYEl1VYOVrCPHOuISPIph35FVOl8OLDjKB8VNprcy2c48eK2hZEjHOrFuCSRcmIoi3DyYVHKiloGDaP0CWOrK9MOehsf/wfg4NgWFGNbMKOM/ZkHhGpvK8NdoTRVGzutq4RHQFksOPHtoIQjNKo/X4Az5ptoZ7dI2Y9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1759847160; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=IYIv2Y309r90WUK07FBdrVlv4IYcETYLV13KmD86218=; b=W3HciJxnrmNyDpjdlterQ23jXfRuTzXE+usPVT7qA8mgjQZ6p1BimkZmnzCRPUGvN2H1itoCZllPOEvPPvN3t83K0hUtgx6sbbdKKxQr3lH7VU4Et5vPmZsJslucRMWzLT0dRSP/EarddkevaZfY/CbeOeR1pGE4HwUjAZRpztw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1759847160513573.4264851151958; Tue, 7 Oct 2025 07:26:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v68Qo-0005wI-3I; Tue, 07 Oct 2025 10:12:46 -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 1v68QT-0005ou-IX for qemu-devel@nongnu.org; Tue, 07 Oct 2025 10:12:28 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v68QB-0002FQ-9U for qemu-devel@nongnu.org; Tue, 07 Oct 2025 10:12:25 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-45b4d89217aso37568095e9.2 for ; Tue, 07 Oct 2025 07:12:03 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e78c5d290sm167037135e9.0.2025.10.07.07.12.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Oct 2025 07:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759846322; x=1760451122; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=IYIv2Y309r90WUK07FBdrVlv4IYcETYLV13KmD86218=; b=HVehQt93Ggy0vmHVd+4RQ6WkTgeneF3sVn3fiC1MoLg7NBUxVm9Gtb0LL/hBUPSxRj o7hycgY6bTU9eYKjNvTdNlHPPZOj+lNOB+I7gncShcku17bNbuIfTBuIkXj/CzbopzzZ +VCoa6NZNFLBoTV4tMmoU6OOeNPQBwHIitQA1RfpPtK+0MXUQDuX27L22q86S4IAMbtb H/qPPYHcDsXPeqCQmKSe8FsYu+L5Y+S1VaF2D9Y7WCCKFvipURjscdD7sc93NNCm8zqK ijrkJ5uxzsb0nghAhNprD2HSGB19MoeTCEkiCDLrRDhGH6IicoBR/N1WX3SZFBGpx8/Q jpTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759846322; x=1760451122; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IYIv2Y309r90WUK07FBdrVlv4IYcETYLV13KmD86218=; b=J5Ho7oN4VJN1dsCXDXV36xugg8Fjpie4DXQ9k4AD4magr14r0/hWwGaV7zLovS/57H hyvLixj5d6ELnbAf7+ua4tAiYz44exYz+7/5ggEJhQLhvi6NjutHU4M+IJi4rblyi+bP Wooc/BaowMgcvqPn477RG5RuYj4TrWMkcw8M7BFldvyV0PiKA66J/L0Zw7ZQ909NaQTI 3QRWvXWfZ+SBz3PWVzz5vmFgdkrKpdUGeoOxKCvQq43tbFM0Jnjw2odVQCIlvMXw94L6 YpaGYgKdWd5sqD7+fb8M8iL+gg/KfEX7oXAX5686LM1NQCNAS3rG01jeFydWVJFYiHMx NWpg== X-Gm-Message-State: AOJu0YxK22l6pe5XFjOM4IeKHwDc2f6PEnZwYLpVz/SAfGFsT0L/YxYW KW5aGQf2YxcNnd8OljwsWqg93KvoQ+VsACIoEsjmY2GzYHUwDADtZVvGdF2KJCWouZ9Sfp9AEMU embbB X-Gm-Gg: ASbGncsr0+YC2hxPnKW6ywhn6Rp1OaKOxfeeOBTdP63wfxiMY0c6maab5RpwO2upObB tgBFpA3qlspRljcs8jNdD7dmtehVxYszhiP8G/Fmk6GqNVLiiDTGyTsbybove+C0z14TEJ0P9mu 5xJsf50X9rEiocrtDk36cf2jjnCbwGwOCm7wLesZ1Nks9rjbNh2e3hsy8pupYQ7eTrSSAw8PPZA 34f/6AQCslVYM4AlSVrdX8kOSd62M3nyUigkasdXLu+XxStyaWpGnW53wXErf1usokxJcEsX4WJ keXmD/K6Oi6uCJMDKjTfhsmmgMd/QP8by1gjupaE+mhI6WsFNU+n6z/P3xwAwmKebOAtYHYwYXR si4G1barRsmxeZdeBrJMsUTfV8I9lJ/Tb/Ha1rDRvOcD9IM1fcmEAJZdG X-Google-Smtp-Source: AGHT+IGvMPsVQ5+tRpOQ7p8mnJ7KxPRkhhGjMrLK5ymrl9rPZjG1+M+e1BVCK1ci1wpL44MdxelA+Q== X-Received: by 2002:a05:600c:a319:b0:46e:74cc:42b8 with SMTP id 5b1f17b1804b1-46e74cc4609mr86514565e9.17.1759846321876; Tue, 07 Oct 2025 07:12:01 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 34/62] hw/arm/xlnx-versal: reconnect the CRL to the other devices Date: Tue, 7 Oct 2025 15:10:54 +0100 Message-ID: <20251007141123.3239867-35-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251007141123.3239867-1-peter.maydell@linaro.org> References: <20251007141123.3239867-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1759847162426154100 From: Luc Michel The CRL connects to various devices through link properties to be able to reset them. The connections were dropped during the SoC refactoring. Reintroduce them now. Rely on the QOM tree to retrieve the devices to connect. The component parts of the device names are chosen to match the properties on the CRL. Signed-off-by: Luc Michel Reviewed-by: Francisco Iglesias Reviewed-by: Edgar E. Iglesias Tested-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20250926070806.292065-34-luc.michel@amd.com Signed-off-by: Peter Maydell --- hw/arm/xlnx-versal.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c index 2e28b807d71..6604e24a9cd 100644 --- a/hw/arm/xlnx-versal.c +++ b/hw/arm/xlnx-versal.c @@ -1476,17 +1476,46 @@ static void versal_create_cfu(Versal *s, const stru= ct VersalCfuMap *map) sysbus_mmio_get_region(sbd, 0)); } =20 +static inline void crl_connect_dev(Object *crl, Object *dev) +{ + const char *prop =3D object_get_canonical_path_component(dev); + + /* The component part of the device path matches the CRL property name= */ + object_property_set_link(crl, prop, dev, &error_abort); +} + +static inline void crl_connect_dev_by_name(Versal *s, Object *crl, + const char *name, size_t num) +{ + size_t i; + + for (i =3D 0; i < num; i++) { + Object *dev =3D versal_get_child_idx(s, name, i); + + crl_connect_dev(crl, dev); + } +} + static inline void versal_create_crl(Versal *s) { const VersalMap *map; const char *crl_class; DeviceState *dev; + Object *obj; =20 map =3D versal_get_map(s); =20 crl_class =3D TYPE_XLNX_VERSAL_CRL; dev =3D qdev_new(crl_class); - object_property_add_child(OBJECT(s), "crl", OBJECT(dev)); + obj =3D OBJECT(dev); + object_property_add_child(OBJECT(s), "crl", obj); + + crl_connect_dev_by_name(s, obj, "rpu-cluster/rpu", + map->rpu.num_cluster * map->rpu.num_core); + crl_connect_dev_by_name(s, obj, map->zdma[0].name, map->zdma[0].num_ch= an); + crl_connect_dev_by_name(s, obj, "uart", map->num_uart); + crl_connect_dev_by_name(s, obj, "gem", map->num_gem); + crl_connect_dev_by_name(s, obj, "usb", map->num_usb); =20 sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_abort); =20 --=20 2.43.0