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:
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to