> 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

Reply via email to