git: 005af8327476 - main - dwc4_dma: fix armv7 build.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 30 Sep 2026 13:47:07 UTC
The branch main has been updated by br:
URL: https://cgit.FreeBSD.org/src/commit/?id=005af8327476d12a881e54bc800dbafa73c8a866
commit 005af8327476d12a881e54bc800dbafa73c8a866
Author: Ruslan Bukin <br@FreeBSD.org>
AuthorDate: 2026-09-30 13:40:46 +0000
Commit: Ruslan Bukin <br@FreeBSD.org>
CommitDate: 2026-09-30 13:41:12 +0000
dwc4_dma: fix armv7 build.
---
sys/dev/dwc/dwc4_dma.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/sys/dev/dwc/dwc4_dma.c b/sys/dev/dwc/dwc4_dma.c
index cdf2b0c073c1..4c796c5a8688 100644
--- a/sys/dev/dwc/dwc4_dma.c
+++ b/sys/dev/dwc/dwc4_dma.c
@@ -175,8 +175,8 @@ txdesc_setup(struct dwc_softc *sc, int idx, bus_addr_t paddr,
uint32_t tdes0, tdes1, tdes2, tdes3;
if (!sc->dma_ext_desc) {
- tdes0 = paddr;
- tdes1 = paddr >> 32;
+ tdes0 = (uint32_t)paddr;
+ tdes1 = (uint32_t)((uint64_t)paddr >> 32);
tdes2 = len | TDES2_TTSE;
tdes3 = flags;
@@ -208,7 +208,7 @@ rxdesc_setup(struct dwc_softc *sc, int idx, bus_addr_t paddr)
{
sc->rxdesc_ring[idx].tdes0 = (uint32_t)paddr;
- sc->rxdesc_ring[idx].tdes1 = (uint32_t)(paddr >> 32);
+ sc->rxdesc_ring[idx].tdes1 = (uint32_t)((uint64_t)paddr >> 32);
sc->rxdesc_ring[idx].tdes2 = 0;
sc->rxdesc_ring[idx].tdes3 = RDES3_IOC | RDES3_BUF1V;
@@ -743,8 +743,9 @@ dma4_init(struct dwc_softc *sc)
for (idx = 0; idx < TX_DESC_COUNT; idx++)
txdesc_clear(sc, idx);
- WRITE4(sc, ETH_DMACTXDLAR_HI(0), sc->txdesc_ring_paddr >> 32);
- WRITE4(sc, ETH_DMACTXDLAR(0), sc->txdesc_ring_paddr);
+ WRITE4(sc, ETH_DMACTXDLAR_HI(0),
+ (uint32_t)((uint64_t)sc->txdesc_ring_paddr >> 32));
+ WRITE4(sc, ETH_DMACTXDLAR(0), (uint32_t)sc->txdesc_ring_paddr);
WRITE4(sc, ETH_DMACTXRLR(0), TX_DESC_COUNT - 1);
/*
@@ -822,8 +823,9 @@ dma4_init(struct dwc_softc *sc)
}
}
- WRITE4(sc, ETH_DMACRXDLAR_HI(0), sc->rxdesc_ring_paddr >> 32);
- WRITE4(sc, ETH_DMACRXDLAR(0), sc->rxdesc_ring_paddr);
+ WRITE4(sc, ETH_DMACRXDLAR_HI(0),
+ (uint32_t)((uint64_t)sc->rxdesc_ring_paddr >> 32));
+ WRITE4(sc, ETH_DMACRXDLAR(0), (uint32_t)sc->rxdesc_ring_paddr);
WRITE4(sc, ETH_DMACRXDTPR(0), sc->rxdesc_ring_paddr +
(RX_DESC_COUNT - 1) * sizeof(struct dwc_hwdesc));