aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ieee488
Commit message (Collapse)AuthorAgeFilesLines
* Deorbit the IEEE-488/GPIB support.Poul-Henning Kamp2014-12-258-2687/+0
| | | | Notes: svn path=/head/; revision=276214
* Convert files to UTF-8Ulrich Spörlein2012-01-154-10/+10
| | | | Notes: svn path=/head/; revision=230134
* Implement more of __ibsta: END and SRQI status bits (taken out of theJoerg Wunsch2010-12-101-0/+8
| | | | | | | | | uPD7210 IRQ status). MFC after: 1 week Notes: svn path=/head/; revision=216364
* Fix __retval vs. retval confusion: retval is meant to store the (userland)Joerg Wunsch2010-12-101-1/+1
| | | | | | | | | | | | | | pointer where data is to be returned by ibask() (currently unimplemented), while __retval holds the value returned by the libgpib ibfoo() functions. The confusion resulted in the ibfoo() functions returning an uninitialized value except in situations where the GPIB activity has been terminated abnormally. MFC after: 3 days Notes: svn path=/head/; revision=216355
* GPIB overhaul, part #2: make the tnt4882 driver work with the newerJoerg Wunsch2010-02-016-81/+304
| | | | | | | | | | | | | | | | | TNT5004 IC. This involved a major rewrite of a number of things, as this chip no longer supports the NAT7210 legacy mode but requires the host to use the (more modern) FIFO mode. In theory, this also ought to work on the older TNT4882C chip. I'll probably add this as optional support (perhaps by a device.hints flag) later on. By now, FIFO mode is *only* activates iff a TNT5004 chip has been detected (where the old code didn't work at all), while everything else is supposed to use the old code. MFC after: 2 weeks Notes: svn path=/head/; revision=203360
* Fix breakage introduced to the tnt4882 driver in r202870. This PCIJoerg Wunsch2010-01-234-6/+13
| | | | | | | | | | | | | | | frontend uses the same uPD7210 backend as the pcii ISA frontend, so the backend has to cope with both situations. Also, hide the first printf in pcii_probe (address mismatch) behind bootverbose as the ISA bus parent tries to probe all configured ISA devices against each driver, so a the console has been cluttered with this message for a bunch of unrelated driver probes. MFC after: 3 days Notes: svn path=/head/; revision=202898
* Overhaul of the pcii driver:Joerg Wunsch2010-01-233-26/+120
| | | | | | | | | | | | | | | | | | | | | | | . Properly allocate all IO space resources. These cards scatter their IO addresses over a range of 0x1600 bytes, and they require an additional address for "special interrupt handling". . Implement the "special interrupt handling" per the GPIB-PCIIA Technical Reference Manual; this was apparently not declared for the clone card this driver has been originally implemented for, but it turned out to be needed for both, an original NI brand PCII/PCIIA card as well as the Axiom AX5488 clone. . Add some diagnostic messages for various resource allocation etc. failures during probe. . Add some comments about the structure of the IO address space that is used by these cards. MFC after: 1 day Notes: svn path=/head/; revision=202870
* Make isa_dma functions MPSAFE by introducing its own private lock. TheseRoman Divacky2009-11-091-8/+0
| | | | | | | | | | | | | | | | | | | | | functions are selfcontained (ie. they touch only isa_dma.c static variables and hardware) so a private lock is sufficient to prevent races. This changes only i386/amd64 while there are also isa_dma functions for ia64/sparc64. Sparc64 are ones empty stubs and ia64 ones are unused as ia64 does not have isa (says marcel). This patch removes explicit locking of Giant from a few drivers (there are some that requires this but lack ones - this patch fixes this) and also removes the need for implicit locking of Giant from attach routines where it's provided by newbus. Approved by: ed (mentor, implicit) Reviewed by: jhb, attilio (glanced by) Tested by: Giovanni Trematerra <giovanni.trematerra gmail com> IA64 clue: marcel Notes: svn path=/head/; revision=199104
* Remove the distinction between device minor and unit numbers.Ed Schouten2008-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though we got rid of device major numbers some time ago, device drivers still need to provide unique device minor numbers to make_dev(). These numbers are only used inside the kernel. They are not related to device major and minor numbers which are visible in devfs. These are actually based on the inode number of the device. It would eventually be nice to remove minor numbers entirely, but we don't want to be too agressive here. Because the 8-15 bits of the device number field (si_drv0) are still reserved for the major number, there is no 1:1 mapping of the device minor and unit numbers. Because this is now unused, remove the restrictions on these numbers. The MAXMAJOR definition was actually used for two purposes. It was used to convert both the userspace and kernelspace device numbers to their major/minor pair, which is why it is now named UMINORMASK. minor2unit() and unit2minor() have now become useless. Both minor() and dev2unit() now serve the same purpose. We should eventually remove some of them, at least turning them into macro's. If devfs would become completely minor number unaware, we could consider using si_drv0 directly, just like si_drv1 and si_drv2. Approved by: philip (mentor) Notes: svn path=/head/; revision=179413
* Replace callout_init(..., 1) with callout_init(..., CALLOUT_MPSAFE) forKris Kennaway2008-04-161-1/+1
| | | | | | | | | | better grep-compliance and to standardize with the rest of the kernel. Reviewed by: jhb MFC after: 1 week Notes: svn path=/head/; revision=178250
* Catchup with filtersWarner Losh2007-02-232-2/+2
| | | | Notes: svn path=/head/; revision=166914
* Don't be noisy in case of shared interrupts.Poul-Henning Kamp2006-03-111-0/+2
| | | | Notes: svn path=/head/; revision=156573
* Make resources do the right thing by design instead of accident.Poul-Henning Kamp2006-01-141-2/+1
| | | | | | | Found with: Coverity Prevent(tm) Notes: svn path=/head/; revision=154343
* Use new bus_space/resource convenience functions.Poul-Henning Kamp2005-09-244-148/+71
| | | | | | | Pretend the 10-bit I/O ISA addressing is not our problem. Notes: svn path=/head/; revision=150525
* First cut at a driver for National Instruments PCI-GPIB hardware.Poul-Henning Kamp2005-09-151-0/+400
| | | | | | | Hardware donated by: "Greg Maciejewski" <gregm@serverpit.com> Notes: svn path=/head/; revision=150157
* Allocate unit numbers with unr, implement detach function.Poul-Henning Kamp2005-09-152-5/+21
| | | | Notes: svn path=/head/; revision=150153
* Remove public declarations of variables that were forgotten when they wereDavid E. O'Brien2005-08-101-1/+0
| | | | | | | made static. Notes: svn path=/head/; revision=148920
* Don't leak mutex on open failure.Poul-Henning Kamp2005-04-041-1/+3
| | | | Notes: svn path=/head/; revision=144633
* Add placeholder mutex argument to new_unrhdr().Poul-Henning Kamp2005-03-071-1/+1
| | | | Notes: svn path=/head/; revision=143238
* Always go to standby efter each call.Poul-Henning Kamp2005-03-061-7/+7
| | | | Notes: svn path=/head/; revision=143184
* Don't disable interrupts on a stray interrupt.Poul-Henning Kamp2005-03-061-2/+0
| | | | Notes: svn path=/head/; revision=143183
* Check handle types.Poul-Henning Kamp2005-02-123-78/+199
| | | | | | | | Implement more device functions. Make DMA optional. Notes: svn path=/head/; revision=141777
* Add ibcntl as alias for ibcntPoul-Henning Kamp2005-02-123-243/+274
| | | | | | | | | Add ibsta and start to use it. Rename the argument structure more sensibly. Improve timeout and error handling Notes: svn path=/head/; revision=141768
* Split the ibfoo API into its own file.Poul-Henning Kamp2005-02-124-794/+926
| | | | | | | | Implement ibdma() (only affects ibrd() mode) Implement ibeot() Notes: svn path=/head/; revision=141747
* Fix prototype for ibeot()Poul-Henning Kamp2005-02-121-1/+1
| | | | Notes: svn path=/head/; revision=141737
* Make sure the last command byte makes it onto the wire.Poul-Henning Kamp2005-02-111-4/+6
| | | | Notes: svn path=/head/; revision=141703
* Improve EOS handling.Poul-Henning Kamp2005-02-111-8/+17
| | | | Notes: svn path=/head/; revision=141682
* StatificationPoul-Henning Kamp2005-02-101-3/+3
| | | | Notes: svn path=/head/; revision=141621
* Constify.Poul-Henning Kamp2005-02-091-4/+4
| | | | Notes: svn path=/head/; revision=141591
* Allocate more space for softc. Amazing my machine survived this.Poul-Henning Kamp2005-02-061-1/+1
| | | | Notes: svn path=/head/; revision=141423
* Further elaborate the GPIB driver. We now support a minimal subset ofPoul-Henning Kamp2005-02-065-263/+1569
| | | | | | | the ibfoo() API. Notes: svn path=/head/; revision=141398
* Forgot to mark the IRQ as MPSAFE.Poul-Henning Kamp2005-02-011-1/+5
| | | | Notes: svn path=/head/; revision=141123
* Add a IEEE488 driver for PCIIA compatible cards.Poul-Henning Kamp2005-02-011-0/+419
This driver implements "unaddressed listen only mode", which is what printers and plotters commonly do on GP-IB busses. This means that you can capture print/plot like output from your instruments by configuring them as necessary (good luck!) and cat -u /dev/gpib0l > /tmp/somefile Since there is no way to know when no more output is comming you will have to ctrl-C the cat process when it is done (that is why the -u is important). Notes: svn path=/head/; revision=141121