Date: Fri, 17 Jan 2003 09:33:50 +0900 From: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp> To: Nate Lawson <nate@root.org> Cc: Sam Leffler <sam@errno.com>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/firewire firewire.c fwdev.c fwohci.c fwohcivar.h Message-ID: <ybsn0m0zkb5.wl@ett.sat.t.u-tokyo.ac.jp> In-Reply-To: <Pine.BSF.4.21.0301161546050.47824-100000@root.org> References: <20e801c2bdad$770d56f0$5a557f42@errno.com> <Pine.BSF.4.21.0301161546050.47824-100000@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
At Thu, 16 Jan 2003 15:47:24 -0800 (PST), Nate Lawson wrote: > > On Thu, 16 Jan 2003, Sam Leffler wrote: > > > >> Modified files: > > > >> sys/dev/firewire firewire.c fwdev.c fwohci.c fwohcivar.h > > > >> Log: > > > >> Improve memory allocation. > > > >> - Don't use contigmalloc() and allocate page by page to avoid > > > >> allocation failure. > > > >> - allocate buffer by PAGE_SIZE. > > > > > > > > Some comments. > > > > > > > >> - contigfree((void *)(uintptr_t)sc->fc.sid_buf, > > > >> - OHCI_SIDSIZE, M_DEVBUF); > > > >> + free((void *)(uintptr_t)sc->fc.sid_buf, M_DEVBUF); This is to stop compiler warning. > > > malloced buffers are not guaranteed to be accessable by a device. > > > Use bus dma instead. Moreover, sid_buf must be 2KB aligned and continuous in physical memory. Can I assumed 2KB malloced buffer is 2KB aligned on all plathomes? (or still need to use contigmalloc?) > > New drivers should use bus_dma. I recently hit an issue like this with > > jumbo mbufs not being handled by the bge driver because it doesn't use bus > > dma. > > Valid points. I just wanted to clarify that many of his mallocs are not > for buffers addressed by dma but also for control/header structures. > Those do not need to be changed. 1394 OHCI needs large context program area. For example, to transmit DV stream, current code requests (16*3) bytes * 2400 blocks and each block must be continuous. Is there any code to help such allocation with bus dma? I agree with original code(you know the code is not written by me) has many flaws and I'm fixing it one by one. Of course, converting to bus dma is in TODO list but not the first one now. See http://developer.intel.com/technology/1394/download/ohci_11.htm for detail. /\ Hidetoshi Shimokawa \/ simokawa@sat.t.u-tokyo.ac.jp PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ybsn0m0zkb5.wl>