I have a new National Instruments AT-GPIB driver almost ready to go.
The code is almost a total rewrite from what I had before.  It has been
ported to the newbus architecture and simplified quite a bit.  It should
also be faster, both in terms of throughput of large transfers and
addressing overhead in small transfers.  (In my work, fast small transfers
are much more important than fast large ones.)  I have this new command
queueing scheme going that makes it possible to perform any operation with
only one tsleep(), unless multiple uiomove() calls are required, in which
case it wakes up each time uiomove() needs to happen.  This is probably
really old news for most of you, but my old driver had some problems in
this area.  It also uses two data buffers for simultaneous DMA and
uiomove() operations.  It should be a lot easier to implement SRQ (a GPIB
interrupt request) this way, but I haven't actually done it yet.  I threw
out all the complexity that I had before of programmed polled
vs. programmed interrupt vs. DMA in favor of DMA only.  The whole driver is
in one file again.

Well, if anybody is interested in taking a look, or (better) trying it out,
please respond and I will send you the code.  I think it requires a
FreeBSD-4.0 kernel due to all the new bus stuff, but I could be mistaken.
I am personally running the 4.0-20000103-CURRENT snapshot.

Please include me explicitly on any -hackers discussion, because I don't
subscribe to the list directly (I sometimes check out the archive,
though).


Thanks,
        John Galbraith
        [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to