summaryrefslogtreecommitdiffstats
path: root/sys/dev/ieee488
Commit message (Collapse)AuthorAgeFilesLines
* Implement more of __ibsta: END and SRQI status bits (taken out of thejoerg2010-12-101-0/+8
| | | | | | uPD7210 IRQ status). MFC after: 1 week
* Fix __retval vs. retval confusion: retval is meant to store the (userland)joerg2010-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
* GPIB overhaul, part #2: make the tnt4882 driver work with the newerjoerg2010-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
* Fix breakage introduced to the tnt4882 driver in r202870. This PCIjoerg2010-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
* Overhaul of the pcii driver:joerg2010-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
* Make isa_dma functions MPSAFE by introducing its own private lock. Theserdivacky2009-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
* Remove the distinction between device minor and unit numbers.ed2008-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)
* Replace callout_init(..., 1) with callout_init(..., CALLOUT_MPSAFE) forkris2008-04-161-1/+1
| | | | | | | better grep-compliance and to standardize with the rest of the kernel. Reviewed by: jhb MFC after: 1 week
* Catchup with filtersimp2007-02-232-2/+2
|
* Don't be noisy in case of shared interrupts.phk2006-03-111-0/+2
|
* Make resources do the right thing by design instead of accident.phk2006-01-141-2/+1
| | | | Found with: Coverity Prevent(tm)
* Use new bus_space/resource convenience functions.phk2005-09-244-148/+71
| | | | Pretend the 10-bit I/O ISA addressing is not our problem.
* First cut at a driver for National Instruments PCI-GPIB hardware.phk2005-09-151-0/+400
| | | | Hardware donated by: "Greg Maciejewski" <gregm@serverpit.com>
* Allocate unit numbers with unr, implement detach function.phk2005-09-152-5/+21
|
* Remove public declarations of variables that were forgotten when they wereobrien2005-08-101-1/+0
| | | | made static.
* Don't leak mutex on open failure.phk2005-04-041-1/+3
|
* Add placeholder mutex argument to new_unrhdr().phk2005-03-071-1/+1
|
* Always go to standby efter each call.phk2005-03-061-7/+7
|
* Don't disable interrupts on a stray interrupt.phk2005-03-061-2/+0
|
* Check handle types.phk2005-02-123-78/+199
| | | | | Implement more device functions. Make DMA optional.
* Add ibcntl as alias for ibcntphk2005-02-123-243/+274
| | | | | | Add ibsta and start to use it. Rename the argument structure more sensibly. Improve timeout and error handling
* Split the ibfoo API into its own file.phk2005-02-124-794/+926
| | | | | Implement ibdma() (only affects ibrd() mode) Implement ibeot()
* Fix prototype for ibeot()phk2005-02-121-1/+1
|
* Make sure the last command byte makes it onto the wire.phk2005-02-111-4/+6
|
* Improve EOS handling.phk2005-02-111-8/+17
|
* Statificationphk2005-02-101-3/+3
|
* Constify.phk2005-02-091-4/+4
|
* Allocate more space for softc. Amazing my machine survived this.phk2005-02-061-1/+1
|
* Further elaborate the GPIB driver. We now support a minimal subset ofphk2005-02-065-263/+1569
| | | | the ibfoo() API.
* Forgot to mark the IRQ as MPSAFE.phk2005-02-011-1/+5
|
* Add a IEEE488 driver for PCIIA compatible cards.phk2005-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).
OpenPOWER on IntegriCloud