From nobody Tue Apr 22 09:37:02 2025
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 4ZhcZk3HgPz5tqSY;
Tue, 22 Apr 2025 09:37:02 +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 "R10" (verified OK))
by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhcZk2Rzzz3M3x;
Tue, 22 Apr 2025 09:37:02 +0000 (UTC)
(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
t=1745314622;
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=JShbrIRnSs0d8ODJ9urjSrqE2C9phIicm+/erIkyLj4=;
b=I6p0ueR6LXuhS0jz4K5qrYxwut5FgLQvos1NKKByTDdMBcXfd2Tx3k/1kdqjtIEbXJMDeZ
vE0a5jE7gtKWInMkLqBljuG/hsVcsiZvpWLcv37iEilIO80K7ZTabvb4CGxtWx0FkBdweC
h0yPqfnzs+tTeLrfollIkh9XuHChomPrXNQvJ2QhzWgRrFieZ3P7eemSecHbjb0pURt6PW
l2LEj6HBwauD5w6wbb0nR9rYnpkEd4WJ/FIksCL2SHR8xPFQkaIlt2QVVbvLZkKNZ1C33b
1+GFKC82XDNgptpi6lYcg8TgkS/cU2MOii8AjYfeOp/FI0r4aBn3iLolhj2eIA==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745314622; a=rsa-sha256; cv=none;
b=IUiLuldUS4XWCtWBwFKY8+/H0snwZiZABuJciz0b5VgPodBBvWnolDYVrZUiu47t9RME/3
ZgTyb0CaI0eIz5hNdKtg8Ml24I3+hwNqasvz3M6vKlsEQpkYY0vSQQeHTYST+gSQ0MxVld
nz3oF7fzKLeqDLsC7TcAhYrV+JOYxBQolfozBtLxNU3byN3Vuo+Tb4kac9v7QUl+UXJB8k
48n8/rWtxW6FyIWjbmcF1RTTqfFi0UXohVmdiK9TX/7iihog/lJy9K4aLfk/dhTWZgh9Pn
6rfbn/4zZy/m9mxXiHPV92TjiEY5l6XImDlyMaYytDV0JOxbplsnxekSHpvbcg==
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=1745314622;
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=JShbrIRnSs0d8ODJ9urjSrqE2C9phIicm+/erIkyLj4=;
b=IOo4ama1uqnqlyB3Qt76MOCcKHfNppsCIVIfmEUBZC5aCjaE0yhBOT4f5RDtYHLPQLtGve
72QHUWkFH2KjKuwkttSPZ0JEom4UF3tRmOdwmsfl/gmAxQcr4R5BQz/cx2yLo9h+02fmdA
cFUkO21EMjCHi6vmnOTqhcIRiLxYqxYo/MmTC6YYP0tFxkX2c+FYVI0a+9k3gxb18T6o/f
+znOUyGvcscRgxowUVy3F5iKCwboSbFPUpqx1KHy3oCaMq3emq5c51aTY7iGsXFd8c3cFe
Lhsn7COYhovgWQf0G0eu4DiBsGcaDMtYVdl+jMxNaKHE6sw/h8y5TAkIodg9Ow==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
(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 did not present a certificate)
by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhcZk1nYyz1ST8;
Tue, 22 Apr 2025 09:37:02 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org ([127.0.1.44])
by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53M9b2RX021283;
Tue, 22 Apr 2025 09:37:02 GMT
(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M9b2J0021280;
Tue, 22 Apr 2025 09:37:02 GMT
(envelope-from git)
Date: Tue, 22 Apr 2025 09:37:02 GMT
Message-Id: <202504220937.53M9b2J0021280@gitrepo.freebsd.org>
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org,
dev-commits-src-main@FreeBSD.org
From: Ruslan Bukin
Subject: git: a1a067b7131e - main - axidma(4): add local data cache
flushes.
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: br
X-Git-Repository: src
X-Git-Refname: refs/heads/main
X-Git-Reftype: branch
X-Git-Commit: a1a067b7131ef9122800f16dbc154dd390dc74a6
Auto-Submitted: auto-generated
The branch main has been updated by br:
URL: https://cgit.FreeBSD.org/src/commit/?id=a1a067b7131ef9122800f16dbc154dd390dc74a6
commit a1a067b7131ef9122800f16dbc154dd390dc74a6
Author: Ruslan Bukin
AuthorDate: 2025-04-22 09:28:55 +0000
Commit: Ruslan Bukin
CommitDate: 2025-04-22 09:28:55 +0000
axidma(4): add local data cache flushes.
As axidma(4) does not support busdma(9) then add local cache flushes,
and map descriptors using default memory attribute (cacheable type).
This fixes operation on Codasip X730.
Sponsored by: UKRI
---
sys/dev/xilinx/axidma.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sys/dev/xilinx/axidma.c b/sys/dev/xilinx/axidma.c
index 5b92f90df683..77a46c712980 100644
--- a/sys/dev/xilinx/axidma.c
+++ b/sys/dev/xilinx/axidma.c
@@ -169,6 +169,9 @@ axidma_intr(struct axidma_softc *sc,
while (chan->idx_tail != chan->idx_head) {
desc = chan->descs[chan->idx_tail];
+ cpu_dcache_wbinv_range((vm_offset_t)desc,
+ sizeof(struct axidma_desc));
+
if ((desc->status & BD_STATUS_CMPLT) == 0)
break;
@@ -357,7 +360,8 @@ axidma_desc_alloc(struct axidma_softc *sc, struct xdma_channel *xchan,
return (-1);
}
chan->mem_vaddr = kva_alloc(chan->mem_size);
- pmap_kenter_device(chan->mem_vaddr, chan->mem_size, chan->mem_paddr);
+ pmap_kenter(chan->mem_vaddr, chan->mem_size, chan->mem_paddr,
+ VM_MEMATTR_DEFAULT);
device_printf(sc->dev, "Allocated chunk %lx %lu\n",
chan->mem_paddr, chan->mem_size);
@@ -493,6 +497,9 @@ axidma_channel_submit_sg(device_t dev, struct xdma_channel *xchan,
if (sg[i].last == 1)
desc->control |= BD_CONTROL_TXEOF;
+ cpu_dcache_wbinv_range((vm_offset_t)desc,
+ sizeof(struct axidma_desc));
+
tmp = chan->idx_head;
atomic_add_int(&chan->descs_used_count, 1);