svn commit: r360543 - head/stand/libofw
Warner Losh
imp at FreeBSD.org
Fri May 1 18:36:49 UTC 2020
Author: imp
Date: Fri May 1 18:36:48 2020
New Revision: 360543
URL: https://svnweb.freebsd.org/changeset/base/360543
Log:
Redo r360540 to retain the ifndef sparc code, not delete it.
Also undo the BROKEN stuff, since it was based on the same misreading.
Noticed by: Jens Schweikhardt
Modified:
head/stand/libofw/ofw_net.c
Modified: head/stand/libofw/ofw_net.c
==============================================================================
--- head/stand/libofw/ofw_net.c Fri May 1 18:27:14 2020 (r360542)
+++ head/stand/libofw/ofw_net.c Fri May 1 18:36:48 2020 (r360543)
@@ -73,9 +73,7 @@ struct netif_driver ofwnet = {
static ihandle_t netinstance;
-#ifdef BROKEN
static void *dmabuf;
-#endif
static int
ofwn_match(struct netif *nif, void *machdep_hint)
@@ -112,12 +110,10 @@ ofwn_put(struct iodesc *desc, void *pkt, size_t len)
#endif
}
-#ifdef BROKEN
if (dmabuf) {
bcopy(pkt, dmabuf, sendlen);
pkt = dmabuf;
}
-#endif
rv = OF_write(netinstance, pkt, len);
@@ -220,6 +216,16 @@ ofwn_init(struct iodesc *desc, void *machdep_hint)
#if defined(NETIF_DEBUG)
printf("ofwn_init: Open Firmware instance handle: %08x\n", netinstance);
#endif
+ dmabuf = NULL;
+ if (OF_call_method("dma-alloc", netinstance, 1, 1, (64 * 1024), &dmabuf)
+ < 0) {
+ printf("Failed to allocate DMA buffer (got %p).\n", dmabuf);
+ goto punt;
+ }
+#if defined(NETIF_DEBUG)
+ printf("ofwn_init: allocated DMA buffer: %p\n", dmabuf);
+#endif
+
return;
punt:
More information about the svn-src-head
mailing list