[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F0C23F0.10602@proconX.com>
Date: Tue, 10 Jan 2012 12:41:36 +0100
From: Henrik Maier <henrik@...conX.com>
To: info@...ax.com
CC: David Laight <David.Laight@...LAB.COM>,
Wolfgang Grandegger <wg@...ndegger.com>,
Oliver Hartkopp <socketcan@...tkopp.net>,
netdev@...r.kernel.org, linux-can@...r.kernel.org,
socketcan-users@...ts.berlios.de, IreneV <boir1@...dex.ru>,
Stanislav Yelenskiy <stanislavelensky@...oo.com>, oe@...t.de,
henrik@...us-sw.com
Subject: Re: [PATCH net-next v2 2/4] can: cc770: add legacy ISA bus driver
for the CC770 and AN82527
Hello guys,
see comments below.
On 9/01/2012 10:47 PM, Wolfgang Zarre wrote:
> Further I have also investigated a bit the issue regarding the "HM"
> patches.
>
> I checked out the can4linux and I could find this patch in file
> can_i82527funcs.c as mentioned by Oliver.
> @Oliver: BTW thanks for Your investigation.
>
> After studying the Makefile and some tests I discovered that
> this file is just used for the target SBS_PC7 but funny enough not
> for GENERIC_I82527.
>
> I was seeking the declaration of CANout used in can_i82527funcs.c
> to see if it's based on the same code we had and as well as in Lincan
> but unfortunately the target SBS_PC7 doesn't compile with kernel
> 2.6.39-4 and moreover I got the message:
> ...can4linux/trunk/can4linux/i82527funcs.c:72:
> error: implicit declaration of function 'CANout'
>
> And additional not knowing if the board of SBS_PC7 is ISA or PCI based
> I tried to find out and found after some research the following
> thread:
> http://old.nabble.com/-PATCH-v2--cc770-isa%3A-legacy-driver-for-CC770-i82725-on-the-ISA-bus-td24216347.html
>
>
> According to that I assumed it's ISA based and is working with cc770_isa.
>
> But not finding the declaration of CANout used in can_i82527funcs.c I
> assumed further that it was done without spinlock which might cause
> the effect of repeated or even lost interrupts as well depending on
> the hardware configuration.
>
> If this is the case then the HM patches would be obsolete and maybe
> someone owning a SBS PC7 can test without these patches.
>
> @Henrik: I would like to ask You if You can confirm this when You are
> back.
> Thanks a lot.
>
>
> Wolfgang
The can4linux port I made was done for a specific project and a specific
hardware, the SBS PC7, and only ever tested on that hardware. The i82527
code was already in the can4linux 3.x archive but not maintained for a
while and has become non-functional over time.
Initially we used the 2.4 Linux kernel and the can4linux version 3.1 as
basis for the re-integration of the i82527. I called our modified
version "3.1i" (i for Intel). This is from the changelog:
3.1i - Integration of the i82527 code into can4linux version 3.1,
major refactoring and clean-up of the i82527 code, fixed
interrupt lock-up issue w/ sending while receiving in heavy load,
fixed issue w/ stopping and re-starting the bus, added
new acceptance mask function to bring code in line with SJA1000 code
base, new I/O model to support the SJA1000 CANin/CANout macros,
support added to the makefile for generic i82527 cards and
SBS PC7compact DINrail mounted industry PC
by Henrik Maier of FOCUS Software Engineering Pty Ltd
<www.focus-sw.com>
As time passed the requirement for kernel 2.6 support emerged and we did
the same based on can4linux 3.3.2 and called it "3.3.2i" which later was
merged into the official can4linux archive and became 3.3.3.
The "repeated TX IRQ" issue came up only with kernel 2.6 and was not
required in the 2.4 version. The way I fixed it may not have been the
best, but it solved the immediate need of finishing a project and
getting the driver stable. I am not a kernel driver expert.
The PC7 hardware is now obsolete anyway. From my point we can do a
"clean" start and remove the old baggage.
The PC7 CAN interface is ISA based and I don't have a hardware any more
to test.
Some background info and our "i" versions are published here:
http://www.focus-sw.com/can/can4linux.html
I hope that helps a bit. It has been a few years since I worked with
can4linux but it is great to see that the community is further enhancing
CAN support for Linux.
Henrik
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists