> Garrett D'Amore wrote: >> >> If the device is that limited, then it may be difficult to set up DMA >> for it, and use of DMA may collide with other resources used in that >> memory space. (Recall that x86 platforms don't have an IOMMU, so they >> cannot relocate physical pages to make room for the device.) >> Additionally, it sounds like the DMA counter might only be 8 bits? (So >> you'd need multiple PIOs per packet?) >> >> At this point, I'd probably just opt for PIO. It may be less efficient, >> but by the time you involved the bounce buffers, etc., it may actually >> work better/faster than trying to workaround the DMA limitations. >> > > Furthermore, I can't seem to find any other versions of the driver which > do DMA ... NetBSD and Linux both do PIO. And then, reading the Linux > driver, I saw this comment: > > The NEx000 doesn't share the on-board packet memory -- you have to put > the packet out through the "remote DMA" dataport using outb. > > So, I think again that you should probably just use PIO. > > If Parallels wants better performance, then they should emulate a more > modern NIC device. :-)
I looked earlier this week too (FreeBSD and Linux in particular) - I suppose I was hoping I would be able to avoid using PIO for reception (unless you have a device which supports a 32-bit channel, you are forced to use PIO for xmits). Oh well, PIO it is ;) Steve _______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
