From nobody Mon Apr 13 13:43:28 2026 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=1772809288; cv=none; d=zohomail.com; s=zohoarc; b=NdrvrEc8FAVJMJhDn76qd8+P1cMf48LgwXuYgWVFnI1Ac8irm/7Bkg/cMSrWvp2wAULXLIepfe2ITmhAK4jreedH/VWo/SsUiGa4swplgLKuHmxyhCM+4diJzSKwyWlXVogfo1BHAIy9f6f2NjvGLmi+LodGfJdeOfgUnpoZIyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772809288; h=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=VgeSwyGlOOL9FXbTfD4CL4jcvQ444n+6TDIZiWIbUQo=; b=LtTpZj5okIG7SRzzHh8iYHexQEvvXEuKOirBLeNkhbWkY7fzaCCTEBCtC8HvGy/t7WqX2KG/hictx25E18EjbOpDgg6iWa5Ev7eD1b5Y4yed13XDKK1etZRnUyrZ0Jsa0nutRuxCkRbMsGR+ni4OcespXdBkQ4fy1EGw8ON2uso= 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 1772809288183544.9872502268605; Fri, 6 Mar 2026 07:01:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vyWec-0003U1-NN; Fri, 06 Mar 2026 09:59:50 -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 1vyWeb-0003TX-Kp for qemu-devel@nongnu.org; Fri, 06 Mar 2026 09:59:49 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vyWea-0002IY-0L for qemu-devel@nongnu.org; Fri, 06 Mar 2026 09:59:49 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4836f4cbe0bso81284325e9.3 for ; Fri, 06 Mar 2026 06:59:47 -0800 (PST) Received: from lanath.. (wildly.archaic.org.uk. [81.2.115.145]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485246ece8bsm28681845e9.4.2026.03.06.06.59.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 06:59:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1772809186; x=1773413986; 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=VgeSwyGlOOL9FXbTfD4CL4jcvQ444n+6TDIZiWIbUQo=; b=wt1TmgxBDWg0QGElGh85zL+qLMz+0OHqJX448qN0uPpIRXyaQaX6qwaivfewuINyIZ 35nKbXMgRtCM+7npvQ/0Mr5aDQoATiwZNLZzAN/J8ygRAhwo5Qm+45JBL/R0kJIARx8t iHU6k7z2FGlqz9i03qhgCLlmjjxzO21n94eHu93reD+yyNMDW744izyKnx+1BeBG22Ap o7zQl1RywEMVOf7Q6XFIdhTm/iXO0DSFEth9tAdd044LQNu5z19Ukm8wuwJqW8M/EXVB hwi0RdaCm+U3ZgA2PstWFU4Ooi544IdKcvuki+yJQ7GguMcncCEkLABufydRtbc+x1vw xBcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772809186; x=1773413986; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VgeSwyGlOOL9FXbTfD4CL4jcvQ444n+6TDIZiWIbUQo=; b=ZArN1xYTmMI99SAvH0TiFxCfmcptARy9xBLzWeSOmuXmsqnLWF5SqhlrnXpY1CtsBl itUbqkJDB6WnvmTkZ+EgYgTthGC7co4b9WseN7fZaLWlClpO8NqdxoYQqWBbBHhW+Bbl PHU5G14+Oq+YXNLTtFYffVhuV4QEWnVrV9uw3wBcXpTR2oIf1dPSKOL0ZPTeU0clDIVM gjZpAhMSXW1LLwJhHyZ9kcktP7UoU8S/BBahAyZX7nAJulFsvcvZblORCCeYigF0ls+c MVzvjPYouFRxqnSN+2HKFliqhn2dI9VjfAbwr5O3ryoc9T7GQ2vgdpqdlpmZoaZ+AoGF 7j6A== X-Gm-Message-State: AOJu0YyZXO8EU1uRNsX9nFlf97nmxitYUp1sPPA7F1X43R74AcboU8T7 fks5CWOFZ3/gwBfy4kUR2/flhViqNqBn1dZoNUgM+RLwShpsLId1nYepcvtZGyhy417H+eejySc RASql X-Gm-Gg: ATEYQzzCPBfavB4NFH0tgpaztzaxOgvFlrypAmoG+lYrwWesOR7iAZoXR7QiZcRLppG 6ol6ku5ZELIA4/d5WoZMUpbLblsMNIV3JfURfE0y0twyXzTQUHDWi7Vj7CU/V88Ga/A1OHc3UJj zJm3GDfU3bY6nqu9Vf0OvuPhnTUXyX1EyT4SCus1QI+aw6/cDR/HHJ0DUghdcusVntwUbRqzB35 vygS+nLW3dAdWBsVf+6EpYhOpmyDD1JCHXcKGzlAPEwgrq2OS+/nV/sm5HmNLQUry0AeYfet47G R+iPTF01jO6ORk0FG2UGFClLt+fgxMmReaZFaVXDjAEoXfo31GL9AA4RZReZ4UyDe8tTGpDNpbz /RiZcwYyZEMeTst6PfRam4Y6YM+ZAIS/oSpgg8D01j67FMpviGRL+sdQdIOpYG3IXYSGK4aLVop Z7q1zRMXJ8EBeckRbvEMVH80loNWB9ipo593NG+eFgpsxb2F6Fv9L0C1AP3Rx9jvSpgVKIRF0zy UcBZyyQK54w4cp9xjiwlwfAu420niQ= X-Received: by 2002:a05:600c:8b8b:b0:485:16d8:4741 with SMTP id 5b1f17b1804b1-4852690f681mr42810375e9.6.1772809186397; Fri, 06 Mar 2026 06:59:46 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/49] hw/arm/smmuv3-accel: Add viommu free helper Date: Fri, 6 Mar 2026 14:58:55 +0000 Message-ID: <20260306145939.2162189-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260306145939.2162189-1-peter.maydell@linaro.org> References: <20260306145939.2162189-1-peter.maydell@linaro.org> MIME-Version: 1.0 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::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.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: qemu development 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: 1772809290437154100 Content-Type: text/plain; charset="utf-8" From: Shameer Kolothum Move viommu teardown into a helper function and use it from the last device removal path. This groups related cleanup logic in one place and improves readability. It also makes it easier to extend the teardown in future, for example when freeing related objects such as vEVENTQ. No functional change. Reviewed-by: Nicolin Chen Reviewed-by: Eric Auger Tested-by: Eric Auger Reviewed-by: Jonathan Cameron Signed-off-by: Shameer Kolothum Message-id: 20260226084456.112142-3-skolothumtho@nvidia.com Signed-off-by: Peter Maydell --- hw/arm/smmuv3-accel.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index f5cd4df336..c19c526fca 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -390,6 +390,20 @@ bool smmuv3_accel_issue_inv_cmd(SMMUv3State *bs, void = *cmd, SMMUDevice *sdev, sizeof(Cmd), &entry_num, cmd, errp); } =20 +static void smmuv3_accel_free_viommu(SMMUv3AccelState *accel) +{ + IOMMUFDViommu *viommu =3D accel->viommu; + + if (!viommu) { + return; + } + iommufd_backend_free_id(viommu->iommufd, accel->bypass_hwpt_id); + iommufd_backend_free_id(viommu->iommufd, accel->abort_hwpt_id); + iommufd_backend_free_id(viommu->iommufd, accel->viommu->viommu_id); + g_free(viommu); + accel->viommu =3D NULL; +} + static bool smmuv3_accel_alloc_viommu(SMMUv3State *s, HostIOMMUDeviceIOMMUFD *idev, Error **errp) @@ -549,12 +563,7 @@ static void smmuv3_accel_unset_iommu_device(PCIBus *bu= s, void *opaque, trace_smmuv3_accel_unset_iommu_device(devfn, idev->devid); =20 if (QLIST_EMPTY(&accel->device_list)) { - iommufd_backend_free_id(accel->viommu->iommufd, accel->bypass_hwpt= _id); - iommufd_backend_free_id(accel->viommu->iommufd, accel->abort_hwpt_= id); - iommufd_backend_free_id(accel->viommu->iommufd, - accel->viommu->viommu_id); - g_free(accel->viommu); - accel->viommu =3D NULL; + smmuv3_accel_free_viommu(accel); } } =20 --=20 2.43.0