From owner-freebsd-hackers Fri Jan 21 15:47: 1 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from bartok.lanl.gov (bartok.lanl.gov [128.165.205.72]) by hub.freebsd.org (Postfix) with ESMTP id 3A4AB1587B for ; Fri, 21 Jan 2000 15:46:58 -0800 (PST) (envelope-from john@bartok.lanl.gov) Received: (from john@localhost) by bartok.lanl.gov (8.9.2/8.9.2) id QAA93411; Fri, 21 Jan 2000 16:45:33 -0700 (MST) (envelope-from john) From: John Galbraith Date: Fri, 21 Jan 2000 16:45:33 -0700 (MST) To: andre.albsmeier@mchp.siemens.de, Fred Cawthorne , John Galbraith , Thomas Gellekum , "Steven G. Kargl" , Kimitoshi Kono , "Randal S. Masutani" , Mike Smith , Vince Vielhaber , freebsd-hackers@freebsd.org Subject: new AT-GPIB and AT-GPIB/TNT driver version X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <14472.60200.175295.417625@bartok.lanl.gov> Mime-Version: 1.0 (generated by tm-edit 7.108) Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 john@bartok.lanl.gov To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message