Ian Abbott [Tue, 24 Jul 2007 11:00:40 +0000 (11:00 +0000)]
Add comedi_fops.h to EXTRA_DIST.
Ian Abbott [Mon, 23 Jul 2007 17:13:49 +0000 (17:13 +0000)]
Corrected driver header comment for PCM-UIO96A (pcmuio96).
Ian Abbott [Mon, 23 Jul 2007 15:24:49 +0000 (15:24 +0000)]
Add pcmmio driver to Kbuild.
Ian Abbott [Mon, 23 Jul 2007 15:22:09 +0000 (15:22 +0000)]
Handle removal of struct pt_regs * in 2.6.19 in same way as the other drivers.
Frank Mori Hess [Sun, 22 Jul 2007 02:30:38 +0000 (02:30 +0000)]
Added little sanity check for buffer overrun of gaindelay array.
Frank Mori Hess [Sun, 22 Jul 2007 02:23:44 +0000 (02:23 +0000)]
Fixed problems with RTI_OVERRUN bit in ai read insn.
Frank Mori Hess [Mon, 16 Jul 2007 19:26:52 +0000 (19:26 +0000)]
Got rid of unnecessary casts when initializing comedi_driver.board_name
Ian Abbott [Mon, 16 Jul 2007 17:39:58 +0000 (17:39 +0000)]
Fix real-time interrupt handlers for 2.6.19.
Frank Mori Hess [Mon, 16 Jul 2007 14:59:13 +0000 (14:59 +0000)]
Fixed devinfo ioctl for subdevice files (/dev/comediN_subM). Made
comedi subdevice type defines into an enum.
Frank Mori Hess [Mon, 16 Jul 2007 14:50:43 +0000 (14:50 +0000)]
Fixed compile warning.
Frank Mori Hess [Fri, 13 Jul 2007 20:27:55 +0000 (20:27 +0000)]
Buffered counting with dma works now for m-series boards.
Made attempt to read/write pfi port with e-series fail
loudly instead of silently. Added support for digital
input filters on pfi ports for m-series. Fixed some random
bugs.
Frank Mori Hess [Thu, 12 Jul 2007 14:55:41 +0000 (14:55 +0000)]
Added enum of digital PFI filters on m-series.
Frank Mori Hess [Thu, 12 Jul 2007 13:47:27 +0000 (13:47 +0000)]
Had edge and level gating swapped
Frank Mori Hess [Wed, 11 Jul 2007 14:27:43 +0000 (14:27 +0000)]
Added support for reading/writing Gi_DMA_Status/Config registers.
Frank Mori Hess [Tue, 10 Jul 2007 18:22:09 +0000 (18:22 +0000)]
Clear gpct mite interrupts.
Frank Mori Hess [Tue, 10 Jul 2007 15:37:07 +0000 (15:37 +0000)]
Added buf_change functions for gpct subdevices.
Frank Mori Hess [Tue, 10 Jul 2007 13:18:34 +0000 (13:18 +0000)]
Preserve state of Gi_DMA_Config register bits.
Frank Mori Hess [Tue, 10 Jul 2007 13:01:20 +0000 (13:01 +0000)]
Put ni_gpct_device pointer in ni_gpct struct, so it doesn't have to
be passed around everywhere as a separate parameter.
Frank Mori Hess [Mon, 9 Jul 2007 20:12:56 +0000 (20:12 +0000)]
Realized that "struct ni_gpct" needs to have a "ni_gpct_device"
struct split out of it, which is shared by all counters on a board.
Need to hold mite_channel_lock in ni_mio_common when calling ni_tio
functions that use mite channel.
Frank Mori Hess [Fri, 6 Jul 2007 19:12:40 +0000 (19:12 +0000)]
Replaced magic numbers for subdevice indices with an enum. Also,
inching towards gpct command support.
Frank Mori Hess [Fri, 6 Jul 2007 17:08:58 +0000 (17:08 +0000)]
Added some ack'ing of b interrupts, and do acks before handling
interrupts, to avoid a race (which seems possible in theory).
Frank Mori Hess [Fri, 6 Jul 2007 00:05:47 +0000 (00:05 +0000)]
Patch from Anders Blomdell <anders.blomdell@control.lth.se>:
Now it compiles on 2.6.21...
Ian Abbott [Thu, 5 Jul 2007 17:15:59 +0000 (17:15 +0000)]
Replaced direct memory accesses with I/O memory access functions.
Anders Blomdell replaced bitfield types with enum types.
Frank Mori Hess [Tue, 3 Jul 2007 02:44:22 +0000 (02:44 +0000)]
New driver JR3/PCI force sensor board from Anders Blomdell
<anders.blomdell@control.lth.se>
Frank Mori Hess [Thu, 28 Jun 2007 01:20:21 +0000 (01:20 +0000)]
Patch from Anders Blomdell <anders.blomdell@control.lth.se>, fixes
quadrature encoder counting with NI M-series boards.
Ian Abbott [Wed, 27 Jun 2007 15:31:50 +0000 (15:31 +0000)]
Simplified plx9052.h and moved PCI236-specific bits into amplc_pc236.c.
Ian Abbott [Wed, 27 Jun 2007 14:37:02 +0000 (14:37 +0000)]
Allow board-specific names to be used to configure the device. For backwards
compatibility, the driver name can still be used as a wildcard to configure
any supported device.
I'll use this in future plans to support newer versions of the boards,
where a board-specific name has to be used to get at the newer features.
Ian Abbott [Wed, 27 Jun 2007 12:30:37 +0000 (12:30 +0000)]
Support PCI bus/slot configuration options.
Ian Abbott [Wed, 27 Jun 2007 12:24:30 +0000 (12:24 +0000)]
Don't bother reporting any unsupported Amplicon cards that are found.
Ian Abbott [Wed, 27 Jun 2007 12:09:39 +0000 (12:09 +0000)]
Added PCI bus/slot configuration options. Ignored if unset or zero.
Ian Abbott [Wed, 27 Jun 2007 12:00:06 +0000 (12:00 +0000)]
Changed comedi driver_name to "contec_pci_dio". "dummy" was a silly name.
Ian Abbott [Wed, 27 Jun 2007 10:54:55 +0000 (10:54 +0000)]
Replace pci_find_device with pci_get_device, and use pci_dev_get and
pci_dev_put to manage reference count for pci device.
Also, check result of kmalloc in pci_card_list_init.
Ian Abbott [Wed, 27 Jun 2007 10:37:20 +0000 (10:37 +0000)]
Don't ignore return value of comedi_request_irq().
Ian Abbott [Wed, 27 Jun 2007 10:23:44 +0000 (10:23 +0000)]
Update deprecated interrupt flags (SA_SHIRQ => IRQF_SHARED).
Frank Mori Hess [Fri, 22 Jun 2007 20:08:14 +0000 (20:08 +0000)]
A little more code intended to support counter commands eventually.
Frank Mori Hess [Mon, 18 Jun 2007 13:53:00 +0000 (13:53 +0000)]
Fixed disabling of interrupts in mite_setup().
Frank Mori Hess [Fri, 15 Jun 2007 15:29:47 +0000 (15:29 +0000)]
Added a little more on how the ni windows drivers enables mite burst
mode.
Frank Mori Hess [Fri, 15 Jun 2007 14:36:32 +0000 (14:36 +0000)]
Fixed burst mode on dma transfers on pxi-6281
Frank Mori Hess [Wed, 13 Jun 2007 20:43:45 +0000 (20:43 +0000)]
Fixed spurious warnings about AO interrupts not being acked, due to
my recent changes.
Frank Mori Hess [Wed, 13 Jun 2007 18:51:10 +0000 (18:51 +0000)]
Got rid of comedi_subdevice.cmd_cleanup after some reconsideration
(it isn't really needed). Added beginnings of support for NI
general-purpose counter commands.
Frank Mori Hess [Mon, 11 Jun 2007 19:38:26 +0000 (19:38 +0000)]
Take into account different number of dio channels on various
m-series boards.
Frank Mori Hess [Thu, 7 Jun 2007 13:30:21 +0000 (13:30 +0000)]
Added board entry for PCIe-6251, based on device id in email from
Michael Mestre <michael.mestre@free.fr>
Frank Mori Hess [Thu, 7 Jun 2007 13:26:21 +0000 (13:26 +0000)]
Changed 6413 caldac types to ad8804_debug.
Frank Mori Hess [Thu, 7 Jun 2007 13:24:57 +0000 (13:24 +0000)]
Added device id for pxi-6143 (patch from
Flavio Antonioli <flavio.antonioli@supsi.ch>)
Ian Abbott [Thu, 24 May 2007 12:41:40 +0000 (12:41 +0000)]
Applied patch from Calin A. Culianu for bug #254. The MUX for the AI
subdevice was being programmed incorrectly for synchronous acquisition of
more than one AI channel.
Frank Mori Hess [Tue, 8 May 2007 14:28:21 +0000 (14:28 +0000)]
Added check against maximum ao update rate in analog output command test.
Frank Mori Hess [Wed, 2 May 2007 16:45:18 +0000 (16:45 +0000)]
Fixed check of maximum ai scan rate to take into account multiplexed
inputs.
Frank Mori Hess [Wed, 2 May 2007 16:12:54 +0000 (16:12 +0000)]
Added ao_speed board field for maximum analog output update rate
with commands.
Frank Mori Hess [Wed, 2 May 2007 13:30:21 +0000 (13:30 +0000)]
Tweaked order deallocations happen for an async buffer allocated
with vmalloc.
Frank Mori Hess [Tue, 1 May 2007 21:16:15 +0000 (21:16 +0000)]
Fixed horrible grinding noises on mmap.
Frank Mori Hess [Tue, 1 May 2007 20:16:51 +0000 (20:16 +0000)]
Be more careful about using all the write-allocated buffer space
available, in the cases where it was allocated previously but
never used.
Frank Mori Hess [Tue, 1 May 2007 20:15:38 +0000 (20:15 +0000)]
Don't set EOMEDI_CB_EOBUF event flag in comedi_buf_write_free(),
since it may be called by user writing into buffer.
Frank Mori Hess [Tue, 1 May 2007 20:12:21 +0000 (20:12 +0000)]
Handle stop_src TRIG_COUNT with more than one channel correctly
when doing output dma.
Frank Mori Hess [Mon, 30 Apr 2007 18:36:18 +0000 (18:36 +0000)]
Mite channels 4 and 5 verified to work with m-series 6289 boards now.
Frank Mori Hess [Sun, 29 Apr 2007 21:41:33 +0000 (21:41 +0000)]
Allocate async buffer pages with dma_alloc_coherent, and map them
into continguous virtual addresses with vmap.
Frank Mori Hess [Thu, 26 Apr 2007 19:59:18 +0000 (19:59 +0000)]
Made it possible to request a mite channel from a specific range,
instead of just starting at a specified offset. Only allow
use of mite channels 0-3 for ai/ao, since those are the only
ones that seem to work. Commented out 3 ai convert pulses sent
when clearing ai fifo on 625x boards (based on NI example code),
since it appears to be wrong when tested with real hardware.
Frank Mori Hess [Thu, 26 Apr 2007 19:29:18 +0000 (19:29 +0000)]
Added some documentation of 32 bit dio port.
Frank Mori Hess [Thu, 26 Apr 2007 17:43:44 +0000 (17:43 +0000)]
Changed request/release of mite channels to use mite_channel struct
pointers, instead of channel indices. Changed many mite functions
to take mite_channel argument instead of a mite_struct and a
channel index. Added mite_dma_descriptor_ring, since drivers
need to maintain the descriptors seperatly from a channel, since
the channel is reserved/released with each use but the
descriptor ring only changes when comedi's buffer is resized. Made
ni_mio_common.c dynamically allocate mite channels for ai/ao
when needed, instead of permanently assigning mite channels to
subdevices.
Frank Mori Hess [Thu, 26 Apr 2007 15:05:09 +0000 (15:05 +0000)]
Got rid of useless include of mite.h.
Frank Mori Hess [Thu, 26 Apr 2007 14:58:03 +0000 (14:58 +0000)]
Got rid of call to subdevice's buf_change callback which occurred after
device was detached. Small cleanup of duplicated code.
Frank Mori Hess [Thu, 26 Apr 2007 14:54:10 +0000 (14:54 +0000)]
Added support for a cmd_cleanup() callback on subdevices, which
is called when a command is finished. Will be used to release
mite DMA channels when no longer in use.
Frank Mori Hess [Thu, 19 Apr 2007 19:53:11 +0000 (19:53 +0000)]
Added spinlock to mite_struct for mite_alloc_channel() and
mite_free_channel().
Frank Mori Hess [Thu, 19 Apr 2007 19:41:27 +0000 (19:41 +0000)]
Made some changes to async buffer, to better accommodate output dma
(added read allocation). Tweaked memory barrier usage for async buffer
to try and improve its correctness. comedi_buf_munge() is now handled
entirely inside comedi_buf_write_free(). Added some helper functions
mite_sync_input_dma() and mite_sync_output_dma() for use in
driver interrupt handlers. Added beginnings of support for NI general
purpose counter input commands.
Frank Mori Hess [Thu, 19 Apr 2007 19:23:33 +0000 (19:23 +0000)]
Silenced warning from gcc 4.1.2
Frank Mori Hess [Thu, 19 Apr 2007 18:59:59 +0000 (18:59 +0000)]
Silenced gcc 4.1.2 compile warning.
Frank Mori Hess [Thu, 19 Apr 2007 17:18:17 +0000 (17:18 +0000)]
Fixed for warning produced by automake 1.10
Frank Mori Hess [Thu, 19 Apr 2007 15:15:32 +0000 (15:15 +0000)]
ignore errors from kernel's make modules in all-local, to
avoid failure of make install
on nfs filesystem with root_squash
Frank Mori Hess [Sun, 18 Mar 2007 14:46:32 +0000 (14:46 +0000)]
Fix from Navneet Kataria <nkataria@npcil.co.in> for the following
problem:
... when I initialize
the device using comedi_config command, the device's 1st and 9th relay
automatically goes to energize state.
Frank Mori Hess [Mon, 26 Feb 2007 17:23:49 +0000 (17:23 +0000)]
Added support for configuring dio direction on NI 660x boards through
subdevice 1. Also added support for selecting digital input filter
with INSN_CONFIG_ALT_FILTER.
Frank Mori Hess [Wed, 21 Feb 2007 03:23:27 +0000 (03:23 +0000)]
Bug fix from Edwin Steiner <edwin.steiner@gmx.net>:
The problem is that in ni_m_series_load_channelgain_list config_bits
is not reset to 0 in the loop over the channels.
Frank Mori Hess [Mon, 5 Feb 2007 04:04:56 +0000 (04:04 +0000)]
Only check if parse_insn returns a negative value.
Frank Mori Hess [Thu, 1 Feb 2007 01:28:59 +0000 (01:28 +0000)]
Counters should start at subdevice 2, not 1 (was blowing away the
dio subdevice).
Frank Mori Hess [Wed, 31 Jan 2007 03:13:55 +0000 (03:13 +0000)]
New driver from "Calin A. Culianu" <calin@ajvar.org>:
This driver adds support for the Winsystems PCM-MIO PC/104
based multifunction board. This board has 16 AI, 8 AO, and 48 DIO
channels. The driver is almost complete -- it is just missing
asynchronous mode for AI and AO. But synchronous mode works fine. There
is even IRQ support for the DIO lines (edge-triggered interrupts).
Frank Mori Hess [Wed, 24 Jan 2007 02:00:00 +0000 (02:00 +0000)]
Patch from "Calin A. Culianu" <calin@ajvar.org>:
A pet peeve of mine is that the two driver that I wrote, the pcmda12 and
pcmuio driver, format incorrectly when displayed on the comedi.org
"Supported Hardware" web page. This is because they are incorrectly
formatted in the driver's "Devices:" line. This patch fixes this so that
the Devices: line is now correctly formatted.
Frank Mori Hess [Fri, 12 Jan 2007 19:55:19 +0000 (19:55 +0000)]
Ported ni_660x.c to use counter support provided by ni_tio.c
Frank Mori Hess [Mon, 8 Jan 2007 21:42:20 +0000 (21:42 +0000)]
Fixed some breaks that were supposed to break out of switches. Fixed
setting of first gate source when choosing NI_GPCT_GATE_PIN_GATE_SELECT().
Frank Mori Hess [Mon, 8 Jan 2007 21:10:07 +0000 (21:10 +0000)]
Fixed NI_GPCT_CLOCK_SRC_SELECT_MASK to allow for PFI sources.
Frank Mori Hess [Mon, 8 Jan 2007 20:49:31 +0000 (20:49 +0000)]
fixed read of G_Status_Register for m-series.
Frank Mori Hess [Mon, 8 Jan 2007 15:09:37 +0000 (15:09 +0000)]
Ask board which load register will be used next, since it might have
changed since the last time it was set by the driver.
Frank Mori Hess [Fri, 5 Jan 2007 20:54:17 +0000 (20:54 +0000)]
Fixed reading of counters' hardware and software save registers.
Frank Mori Hess [Fri, 5 Jan 2007 20:38:31 +0000 (20:38 +0000)]
Ported ni_mio_common.c to use ni_tio.c for NI general-purpose counter
support. Have tested only counter in continuous pulse generation mode so
far (see comedilib/demo/gpct_pulse_generator.c which I will soon commit
to comedilib cvs).
Frank Mori Hess [Fri, 5 Jan 2007 20:35:52 +0000 (20:35 +0000)]
Changed value of NI_GPCT_DISABLED_GATE_SELECT so it plays nice with
CR_CHAN macro, which I used in ni_tio.c
Frank Mori Hess [Fri, 5 Jan 2007 15:25:43 +0000 (15:25 +0000)]
Renamed INSN_CONFIG_RESET_COUNT to more general INSN_CONFIG_RESET.
Made setting of count on ni general-purpose counters leave the
values of the load a/b registers, and the load source select
undisturbed.
Frank Mori Hess [Fri, 5 Jan 2007 14:19:39 +0000 (14:19 +0000)]
Added mode bit for selecting load a/b counter load sources on NI general-
purpose counters. Renamed a couple members of the ni_gpct_arm_source
enum. Added a few lines of documentation about some additional
INSN_CONFIG.
Frank Mori Hess [Fri, 29 Dec 2006 16:47:36 +0000 (16:47 +0000)]
use $(MAKE) instead of make. This fixes the use of the -jN option for
parallel compilation.
Frank Mori Hess [Wed, 20 Dec 2006 20:51:02 +0000 (20:51 +0000)]
Calculate clock period taking into account prescaling.
Frank Mori Hess [Wed, 20 Dec 2006 18:18:30 +0000 (18:18 +0000)]
Added declaration for ni_tio_init_counter()
Frank Mori Hess [Tue, 19 Dec 2006 15:47:13 +0000 (15:47 +0000)]
Added support for hardware arming of counters, and set
Gi_Synchronize_Gate_Bit in command reg.
Frank Mori Hess [Tue, 19 Dec 2006 14:19:25 +0000 (14:19 +0000)]
Added declaration of comedi_mark_buffer_written().
Frank Mori Hess [Tue, 19 Dec 2006 02:26:51 +0000 (02:26 +0000)]
Added missing export of comedi_mark_buffer_written symbol, as noted by
"Andreas Leuner" <al14@inf.tu-dresden.de>
Frank Mori Hess [Tue, 19 Dec 2006 02:20:58 +0000 (02:20 +0000)]
defines from comedi's config.h in the top-level comedi directory
are still used.
Frank Mori Hess [Fri, 15 Dec 2006 20:54:27 +0000 (20:54 +0000)]
Added support for x2 prescaling on ni general-purpose counters.
Frank Mori Hess [Fri, 15 Dec 2006 16:34:28 +0000 (16:34 +0000)]
Added INSN_CONFIG_RESET_COUNT
Frank Mori Hess [Thu, 14 Dec 2006 21:08:45 +0000 (21:08 +0000)]
Added ni_tio_init_counter(), and exported some symbols.
Frank Mori Hess [Thu, 14 Dec 2006 19:43:26 +0000 (19:43 +0000)]
Made setting of gate sources more uniform across different hardware
families.
Frank Mori Hess [Tue, 12 Dec 2006 17:39:55 +0000 (17:39 +0000)]
Fixed interrupt handler prototypes for all drivers when compiling
against 2.6.19 kernels.
Frank Mori Hess [Tue, 12 Dec 2006 15:14:17 +0000 (15:14 +0000)]
Added PT_REGS_ARG macro to deal with change to interrupt handler
prototype in kernel 2.6.19.
Frank Mori Hess [Mon, 11 Dec 2006 20:43:34 +0000 (20:43 +0000)]
Made setting of counter clock source more uniform across e-series,
m-series, and 660x boards.
Frank Mori Hess [Fri, 8 Dec 2006 16:53:38 +0000 (16:53 +0000)]
First pass at consistent support for NI general-purpose counters.
Will replace counter support in ni_mio_common.c and ni_660x.c.
Note quite done yet, but it compiles.
Frank Mori Hess [Fri, 8 Dec 2006 16:50:11 +0000 (16:50 +0000)]
Added additional field to INSN_CONFIG_SET/GET_GATE_SRC, to support
devices with multiple gate inputs (NI counters can have 2 gates).