From nobody Fri May 1 21:15:18 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMq3mgvz6cJcc for ; Fri, 01 May 2026 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g6kMq1Jd4z3r3f for ; Fri, 01 May 2026 21:15:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EkhZIoGCdxjFyOhu5gj4kehmtPesAMZMUYt/iy3PaUU=; b=SuqCK68anoRvTLYNVtW3fOjkD2Ot2uWnTvZzdI3pBzcC/CcCJ+9HqplKik3HZtEgLvptXK E5eyipuZt7vVyYK/YAvnJ/uEq5HxIFl6A2PccOOWnPqlp2zDyAQJ78FmRMpLDf2dMO0wtA 9GVgz9QxdTlXoEPzeVFbnvUKiNpm7iKeLmKPbGdkM6BTx32uOSxv6LRyiiiL477C8afy4U VBb7tXso5lollXBZ4RThzb+1cHxkwCEQ+L7p6KVWTQq+slKepE4CxxSIgYqSq7XZ0cYVQj lG1OFp9nGDD7XRvIWjzc12TEwnKJmT7ggoagfZeSBHptGfyac1DDJbTBoIxdhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777670119; a=rsa-sha256; cv=none; b=t3XA2U9jnGP/0DJ1WmkT3fP101gxhvSmVdrtrFNaGpQtVTYZNEHTfTP5cyfBOnEK1evRaW 04n+cqtoT0C5WfS9bJHfiPho8jjRcjIOTtkzkZBvb973R+2zGyGjgBrOHWPJWtM7SXkmuh UcPU68DRQFKce4/TSoy07MWnx7L/0uZVHRRfnxW7ub0Na7TpGy5evGVJ5KxuOMTn6G7BPT nqdLbIor/bpJPifGzbya+3npB1HM61hJ5NXVyFyW6Abv9g73gQzzNsbRYL/ijWjElvJNwQ Tp0o4SOo8ZQAI3ZYpWEFWau4RFYoLouAzTAP8KQ32g51PgVoJo6nS3GXA1DOkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777670119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EkhZIoGCdxjFyOhu5gj4kehmtPesAMZMUYt/iy3PaUU=; b=VkYL/mbyF4qgxMUI4D1b9whwxbVadzK5JL2kOPNM7ba7Sr4gac0leKB4LbkUkCSyvHCQww wpNeIQk+zcZ9JuM5uRCkuxB8XTCM8JAzNUOSGPjYduVGopZAkvWWi90/vix1SB/gAxU94L DGn5Pmo6mbk3rMtgVGmMCO/c2S1TPEhWm+Vyeu9aW9IqW2kUMz4cHIRI7jd+uq65dsctpO nb49qC2pP6W8VpL/tbAVvmkYnyFo+y6CpTpA0sM8IdypP/SKZ6ucMxiiwqtxQ0AgPVzkJR c311eo7AxM6DK+n4m5Y7nNWdVSADzuwGLRKdHh/ox+W0OjVrIZHpJrajaNqUkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g6kMp7145z1TG for ; Fri, 01 May 2026 21:15:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 46f39 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 01 May 2026 21:15:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: df3bd7201efc - main - powerpc: add in some busdma domain setup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df3bd7201efc88b0518c9fe7997f3dbf656eccd5 Auto-Submitted: auto-generated Date: Fri, 01 May 2026 21:15:18 +0000 Message-Id: <69f517e6.46f39.43f1298a@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=df3bd7201efc88b0518c9fe7997f3dbf656eccd5 commit df3bd7201efc88b0518c9fe7997f3dbf656eccd5 Author: Adrian Chadd AuthorDate: 2026-02-15 02:28:07 +0000 Commit: Adrian Chadd CommitDate: 2026-05-01 21:14:37 +0000 powerpc: add in some busdma domain setup * Implement the basic tag domain set routine * Set the domain to the parent domain if provided This is just plumbing for eventual work to re-allocate things into the currently configured domain. Differential Revision: https://reviews.freebsd.org/D55315 --- sys/powerpc/include/bus_dma_impl.h | 1 + sys/powerpc/powerpc/busdma_bounce.c | 5 +++++ sys/powerpc/powerpc/busdma_machdep.c | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sys/powerpc/include/bus_dma_impl.h b/sys/powerpc/include/bus_dma_impl.h index e24bd6dd8806..80d775f2cf9e 100644 --- a/sys/powerpc/include/bus_dma_impl.h +++ b/sys/powerpc/include/bus_dma_impl.h @@ -42,6 +42,7 @@ struct bus_dma_tag_common { int flags; bus_dma_lock_t *lockfunc; void *lockfuncarg; + int domain; }; struct bus_dma_impl { diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c index cdc25a5d8fb7..790903712da7 100644 --- a/sys/powerpc/powerpc/busdma_bounce.c +++ b/sys/powerpc/powerpc/busdma_bounce.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include #include @@ -80,6 +82,7 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata"); /* XXX TODO: bounce flags? */ #define dmat_bounce_flags(dmat) (0) #define dmat_boundary(dmat) ((dmat)->common.boundary) +#define dmat_domain(dmat) ((dmat)->common.domain) #define dmat_flags(dmat) ((dmat)->common.flags) #define dmat_highaddr(dmat) ((dmat)->common.highaddr) #define dmat_lowaddr(dmat) ((dmat)->common.lowaddr) @@ -219,6 +222,8 @@ bounce_bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, newtag->iommu = parent->iommu; newtag->iommu_cookie = parent->iommu_cookie; + newtag->common.domain = vm_phys_domain_match(newtag->common.domain, 0ul, + newtag->common.lowaddr); } if (newtag->common.lowaddr < ptoa((vm_paddr_t)Maxmem) && newtag->iommu == NULL) diff --git a/sys/powerpc/powerpc/busdma_machdep.c b/sys/powerpc/powerpc/busdma_machdep.c index 8e73e303cb11..aba11e64145c 100644 --- a/sys/powerpc/powerpc/busdma_machdep.c +++ b/sys/powerpc/powerpc/busdma_machdep.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -129,6 +130,10 @@ bus_dma_tag_set_domain(bus_dma_tag_t dmat, int domain) struct bus_dma_tag_common *tc; tc = (struct bus_dma_tag_common *)dmat; - + domain = vm_phys_domain_match(domain, 0ul, tc->lowaddr); + /* Only call the callback if it changes. */ + if (domain == tc->domain) + return (0); + tc->domain = domain; return (tc->impl->tag_set_domain(dmat, domain)); }