ppisa [Thu, 2 Jun 2005 04:06:13 +0000 (04:06 +0000)]
Added attach_to_chip() and release_chip() functions for each chip.
This enables correct stopping and IRQ disable before driver unload.
This is required to get rid of problematic handling of shut down
for C_CAN ARM in ns_dev_release_io().
ppisa [Wed, 1 Jun 2005 15:46:04 +0000 (15:46 +0000)]
The MAX_MSGOBJS limit increased to 32 due to requirements of C_CAN chip.
This wastes 68-124 bytes for other chips. Some better solution should be
considered.
ppisa [Wed, 1 Jun 2005 03:58:45 +0000 (03:58 +0000)]
Changes to prepare work area for C_CAN testing and rethinking
Neil Bryan from embebidos.com works on C_CAN support
and he has contributed or initiated most of these changes.
There seems to be more problems to solve proper locking yet.
ppisa [Tue, 31 May 2005 00:45:49 +0000 (00:45 +0000)]
The CR line ending characters removed.
It seems, that Windows and OS9 version of the driver
is frozen and there has not been provided intention
or effort to do future synchronization of versions.
ppisa [Sat, 14 May 2005 21:24:49 +0000 (21:24 +0000)]
Message declaration updated to match VCA provided version.
The in memory layout is not changed. It is preparation for
changes required for future compatibility with 32 bit user
space on 64 bit systems.
ppisa [Thu, 3 Feb 2005 16:18:55 +0000 (16:18 +0000)]
Changes, which should enable to handle more VME Unican cards under RT-Linux.
Solution is not fully clean and it is not consistent with RT-Linux
way to handle regular ISA and PCI interrupts. The deeper analysis is
required, how to use this approach with regular Linux. May it be, that Linux 2.6.x
with latest IRQ threads and mutexes instead of spin-lock patches from Ingo
Molnar could profit from this in future too.
ppisa [Thu, 3 Feb 2005 15:38:46 +0000 (15:38 +0000)]
Added CAN chip specific irq_accept routine for fast interrupt acknowledge.
Required to prepare space for solution of problem with multiple VME Unican
cards used with RT-Linux enabled LinCAN driver.
ppisa [Fri, 21 Jan 2005 23:41:05 +0000 (23:41 +0000)]
Changed baudrate calculation to consider DSC selection.
This affects only PIPx cards, because only these use
crystal <10MHz (8 MHz in the case) and i82527 chip.
ppisa [Thu, 25 Nov 2004 21:45:00 +0000 (21:45 +0000)]
Separated normal read and RTR assisted read transfer.
I have that long time on in my mind. RTR based transfer
in in its own IOCTL, where it belongs. This simplified
normal read and made ABI more POSIX compliant.
RTR code should be rewritten to be really functional.
We are starting new development period now.
Changed SJA1000 chip IRQ handling to loop until all requests are served
This is not proven to be required for Linux kernel,
but it can be possible source of problems for ISA based cards
under RT-Linux.
Added support for oscar CAN interface.
It is SJA1000 based card connected to ARM LH7A400 SoC.
Support contributed by Michael Moedt xemc _AT_ yahoo _DOT_ com
Committed Fanda Vacek work on major upgrade of CANopen framework
CanMonitor updated and communication protocol changed
to binary version. Automatic serialization and deserialization
code generation added.
CAN monitor daemon updated to support new binary protocol as well.
Enhanced CANopen device to connect with hardware through
hardware supporting shared libraries. Mapping is done
according to HDS (Handle Description) files.
EMS CPC-PCI fix correcting poorly undocumented PITA2 IRQ behavior.
This workaround compiles only for 2.6.x kernels now and correct
fix compatible with 2.4 requires driver wide changes.
That is why CPC-PCI is not enabled by default.
CPC-PCI second chip IRQ corrected. Message timestamp code added.
The timestamp code has some time overhead. If it is problem,
it can be disabled in the main.h file.
Some problems fixup in RTR read mode in read system-call.
This mode is there for compatibility reasons with old driver
version and should be moved to its own IOCTL.
ppisa [Thu, 24 Jun 2004 13:10:44 +0000 (13:10 +0000)]
Correction of spinlock acquire order.
BUGFIX of possible deadlock on real SMP systems in the
canqueue functions. Significantly faster implementation
of canque_edge_decref() implemented for systems
defining CAN_HAVE_ARCH_CMPXCHG.
ppisa [Thu, 17 Jun 2004 17:28:24 +0000 (17:28 +0000)]
Changed filling of the chip specific operations.
This enables simpler fine tuning for specific boards
which needs modified functions.
ENS CPC-PCI requires special interrupt handling for example.
ppisa [Sun, 6 Jun 2004 10:17:11 +0000 (10:17 +0000)]
Changed data size from byte to unsigned for write_register indirect call
This is required for the support of the cards connected to the wider
bus architecture. This should not have negative impact, because
char has been propagated to int by C call convention anyway.
The global inline canobj_write_reg function has been left intact
(byte only), because it could better optimize for static call case.
Added support for Unicontrols PCAN cards series and baudrate setting.
PCAN support has been tested on PCAN104 card for Linux only
and Linux/RT-Linux driver compilation mode. There are many
unimplemented features still.
ppisa [Thu, 18 Mar 2004 02:26:42 +0000 (02:26 +0000)]
Corrected typo in Kconfig (OC_LINCAN_CARD_bfad -> OC_LINCAN_CARD_bfadcan)
and leaved out LinCAN sources "can_quertl.c" and "can_devrtl.c"
from standard Linux compilation mode without RT-Linux support.
ppisa [Wed, 3 Mar 2004 00:37:25 +0000 (00:37 +0000)]
Added individual Kconfig for CAN and ORTE components.
Work is based on the proposal and initial version done by Pierre.
The option names has been preserved from the previous Kconfig version.
This means, that compilation should work correctly with actual Kconfig
and with new one after upper level Kconfig changes.
IRQ manipulation changed to spin-locks for rest of boards
to support better RT-Linux.
ppisa [Sat, 21 Feb 2004 21:23:47 +0000 (21:23 +0000)]
Change to CAN_MSG_VERSION_2 and elimination of linux/*.h headers from user space apps.
Layout of canmsg_t changed to CAN_MSG_VERSION_2, which is compatible
with PORT GmbH <http://www.port.de/> can4linux-3.1 implementation.
The driver and utilities can be compiled with old version,
if definition of CAN_MSG_VERSION_2 is commented out in
lincan/include/canmsg.h and canvca/libvca/canmsg.h headers.
The change from __u8 .. __u32 types to standard compliant u_int8_t .. u_int32_t
types has been required to eliminate linux/*.h files. This can make
problems to ancient Linux distributions and some workaround could
be necessary.
ppisa [Fri, 20 Feb 2004 03:48:58 +0000 (03:48 +0000)]
OMK makefiles updated to support OCERA Qconf tool.
The new rule (default-config) added to generate
"config.omk-default" file. This file can be used as is
or can be edited and saved into "config.omk" file.
If "config.omk" exists, it is preferred over "config.omk-default"
file.