Date: Fri, 1 May 2020 18:36:49 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360543 - head/stand/libofw Message-ID: <202005011836.041Ianpm090689@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005011836.041Ianpm090689>