linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Wolfgang Grandegger <wg@grandegger.com>
Cc: linux-can@vger.kernel.org, "Heinz-Jürgen Oertel" <oe@port.de>,
	"Henrik W Maier" <henrik@focus-sw.com>,
	"Wolfgang Zarre" <info@essax.com>
Subject: Re: [PATCH net-next v2 2/4] can: cc770: add legacy ISA bus driver for the CC770 and AN82527
Date: Thu, 05 Jan 2012 20:45:37 +0100	[thread overview]
Message-ID: <4F05FDE1.1040704@hartkopp.net> (raw)
In-Reply-To: <4F058ED5.2000407@grandegger.com>

Hello Wolfgang(s),

On 05.01.2012 12:51, Wolfgang Grandegger wrote:

>>>> diff --git a/drivers/net/can/cc770/cc770_isa.c
>>>> b/drivers/net/can/cc770/cc770_isa.c
>>>> index 4be5fe2..48fc128 100644
>>>> --- a/drivers/net/can/cc770/cc770_isa.c
>>>> +++ b/drivers/net/can/cc770/cc770_isa.c
>>>> @@ -148,8 +148,7 @@ static void cc770_isa_port_write_reg_indirect(const
>>>> struct cc770_priv *priv,
>>>>   {
>>>>       unsigned long base = (unsigned long)priv->reg_base;
>>>>
>>>> -    outb(reg, base);
>>>> -    outb(val, base + 1);
>>>> +    outw( reg + ( val<<  8), base);
>>>

>>> That modification does fix your problem, right? The others above don't
>>> help nor harm but we don't know if it's really realted to the same
>>> problem. I wll dig a bit deeper.
>>
>> Exactly. The others above I removed because facing the opposite, even
>> missing interrupts but then just to avoid other possible side effects
>> and then assuming that they might be related.
> 
> OK. My concern: Can we be sure that 16bit accesses are always supported
> by the hardware? Does a spinlock_irqsave/spinlock_irqrestore around the
> 8bit accesses already help?
> 
> About the "HM:" fixes, I did not find any info in the svn log. Maybe
> Oliver knows why they have been added.



No, in fact i don't know 8-)

As you can see from the initial commit msg here:

http://svn.berlios.de/wsvn/socketcan/branches/ha/candrv/kernel/2.6/drivers/net/can/i82527/?rev=197&peg=197

"First implementation of i82527 socketcan driver based on parts from
socketcan sja1000 netdev / ocan hal / can4linux register access.
Know issues: Currently only receives SFF CAN frames due different
handling of SFF/EFF and RTR frames in opposite to the SJA1000 controller."

I took my sja1000 SocketCAN driver and tried to pick the register access
sniplets for the i82527 from (mostly) can4linux and kicked it until it
compiled ...

This register access part is from can4linux which has a long(!) development
history too, where a special message regarding the ISR can be found, see:

http://can4linux.svn.sourceforge.net/viewvc/can4linux/trunk/can4linux/i82527funcs.c?revision=36&view=markup

/*
 * can_i82527funcs.c - i82527 related code
 *
 * Original version Written by Arnaud Westenberg email:arnaud@wanadoo.nl
 * This software is released under the GPL-License.
 *
 * Modified and extended to support the esd elctronic system
 * design gmbh PC/104-CAN Card (www.esd-electronics.com)
 * by Jean-Jacques Tchouto (tchouto@fokus.fraunhofer.de), 2003
 *
 * Major Refactoring and Integration into can4linux version 3.1 by
 * Henrik W Maier of FOCUS Software Engineering Pty Ltd <www.focus-sw.com>
 *
 * Modified and extended to support the SBS PC7compact DINrail mounted
 * industry PC by FOCUS Software Engineering Pty Ltd <www.focus-sw.com>
 *
 * Updated for 2.6 kernel by Henrik W Maier of FOCUS Software
 * Engineering Pty Ltd <www.focus-sw.com>.
 * Bugfix in CAN_SendMessage, added wake_up_interruptible for irq_write_handler
 * Disabled redundant status change interrupt for RX/TX to decrease int
 * load on CPU.
 * Fixed issue of a second iteration in the ISR when sending because the
 * send interrupt didn't sometimes get acknowledged.
 *
 * $Id: i82527funcs.c,v 1.1 2006/04/21 16:26:51 oe Exp $
 *
 */

My original hardware was the Eurotech COM 1274 board for the US DOT VII OBU:
http://www.eurotech.com/en/download/com-1274

Obviously the ISR quirk code was added by Henrik W Maier from FOCUS Software:

http://www.focus-sw.com/can/can4linux.html

Maybe Henrik or Heinz-Jürgen remember why this ISR handling has been added
more than seven years ago ... i added both of them in CC.

I hope the historical src code research helped a bit.

Indeed i was not aware of that long i82527 history inside the can4linux
driver. If there's any interest of the register access authors, we should
add some credits into the cc770 driver.

Best regards,
Oliver


  parent reply	other threads:[~2012-01-05 19:45 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-25  9:43 [PATCH net-next v2 0/4] can: cc770: add support for the Bosch CC770 and Intel AN82527 Wolfgang Grandegger
2011-11-25  9:43 ` [PATCH net-next v2 1/4] can: cc770: add driver core " Wolfgang Grandegger
     [not found]   ` <1322214204-1121-2-git-send-email-wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-11-26 15:11     ` Oliver Hartkopp
2011-11-28 11:28   ` [Socketcan-users] " Marc Kleine-Budde
2011-11-28 13:52     ` Wolfgang Grandegger
     [not found]       ` <4ED3922A.50704-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-11-28 14:01         ` Marc Kleine-Budde
2011-11-28 14:01           ` [Socketcan-users] " David Laight
     [not found]           ` <4ED3941D.3070302-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-11-28 14:10             ` Wolfgang Grandegger
     [not found]               ` <4ED3966E.7080609-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-11-28 14:18                 ` Marc Kleine-Budde
     [not found]     ` <4ED3704D.5020903-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-11-29  9:20       ` Wolfgang Grandegger
2011-11-25  9:43 ` [PATCH net-next v2 2/4] can: cc770: add legacy ISA bus driver for the CC770 and AN82527 Wolfgang Grandegger
     [not found]   ` <1322214204-1121-3-git-send-email-wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-11-26 14:59     ` Oliver Hartkopp
2011-11-28  8:56       ` Wolfgang Zarre
2011-11-28  9:17         ` Wolfgang Grandegger
2011-11-28 12:03           ` Wolfgang Zarre
     [not found]             ` <4ED37885.8080909-PyqsHJVlJN8AvxtiuMwx3w@public.gmane.org>
2011-11-28 16:06               ` Oliver Hartkopp
     [not found]                 ` <4ED3B198.2040308-fJ+pQTUTwRTk1uMJSBkQmQ@public.gmane.org>
2011-11-29  9:16                   ` Wolfgang Grandegger
     [not found]                     ` <4ED4A2EC.40103-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-12-04 18:47                       ` Wolfgang Zarre
2011-12-04 18:56                         ` Wolfgang Grandegger
     [not found]                           ` <4EDBC25D.50405-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-12-06 21:08                             ` Wolfgang Zarre
     [not found]                               ` <4EDE8435.5080100-PyqsHJVlJN8AvxtiuMwx3w@public.gmane.org>
2011-12-07 13:42                                 ` Wolfgang Grandegger
2011-12-09 10:26                                   ` Wolfgang Grandegger
2011-12-11 18:33                                     ` Wolfgang Zarre
     [not found]                                       ` <4EE4F76E.3000506-PyqsHJVlJN8AvxtiuMwx3w@public.gmane.org>
2011-12-12  9:23                                         ` Wolfgang Grandegger
     [not found]                                           ` <4EE5C824.2050704-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-12-12 11:18                                             ` Wolfgang Zarre
2011-12-12 11:55                                               ` Wolfgang Grandegger
     [not found]                                                 ` <4EE5EBBF.6080007-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-12-21 18:32                                                   ` Wolfgang Zarre
2011-12-22  9:37                                                     ` Wolfgang Grandegger
     [not found]                                                       ` <4EF2FA3F.3010308-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2011-12-22 13:20                                                         ` Wolfgang Zarre
     [not found]                                                           ` <4EF32E84.1080006-PyqsHJVlJN8AvxtiuMwx3w@public.gmane.org>
2011-12-31  9:39                                                             ` Wolfgang Zarre
2012-01-04 13:10                                                               ` Wolfgang Grandegger
2012-01-05  3:29                                                                 ` Wolfgang Zarre
     [not found]                                                                   ` <4F051927.8010600-PyqsHJVlJN8AvxtiuMwx3w@public.gmane.org>
2012-01-05 11:51                                                                     ` Wolfgang Grandegger
2012-01-05 12:00                                                                       ` David Laight
2012-01-09 21:47                                                                         ` Wolfgang Zarre
2012-01-09 23:11                                                                           ` Marc Kleine-Budde
2012-01-10  9:30                                                                             ` Wolfgang Grandegger
2012-01-10 12:30                                                                               ` Wolfgang Zarre
2012-01-10 14:20                                                                                 ` Wolfgang Grandegger
2012-01-10 14:25                                                                                   ` Wolfgang Grandegger
2012-01-11  9:00                                                                                 ` Wolfgang Zarre
2012-01-11  9:37                                                                                   ` David Laight
2012-01-11 14:37                                                                                     ` Wolfgang Zarre
2012-01-11  9:38                                                                                   ` Marc Kleine-Budde
2012-01-11 14:42                                                                                     ` Wolfgang Zarre
2012-01-11 15:02                                                                                       ` Marc Kleine-Budde
2012-01-10 10:00                                                                           ` David Laight
2012-01-10 12:41                                                                             ` Wolfgang Zarre
2012-01-10 14:43                                                                               ` Wolfgang Grandegger
2012-01-10 14:50                                                                                 ` Oliver Hartkopp
2012-01-10 16:13                                                                                 ` Wolfgang Zarre
2012-01-10 16:20                                                                                   ` Marc Kleine-Budde
2012-01-10 16:23                                                                                   ` Wolfgang Grandegger
2012-01-10 19:02                                                                                     ` Wolfgang Zarre
2012-01-11  9:05                                                                                       ` Wolfgang Zarre
2012-01-11  9:31                                                                                         ` Marc Kleine-Budde
2012-01-10 11:41                                                                           ` Henrik Maier
2012-01-10 11:59                                                                             ` Wolfgang Grandegger
2012-01-10 12:43                                                                               ` Wolfgang Zarre
2012-01-05 19:45                                                                       ` Oliver Hartkopp [this message]
2012-01-05 20:48                                                                         ` Oliver Hartkopp
2011-12-23 11:32                                                       ` peak_pci: device channels chained list issue Grosjean Stephane
2011-12-23 12:11                                                       ` peak_pci: device channels chained list issue (cont.) Grosjean Stephane
2012-01-31 22:12                                                         ` Marc Kleine-Budde
2011-11-28 12:09   ` [PATCH net-next v2 2/4] can: cc770: add legacy ISA bus driver for the CC770 and AN82527 Marc Kleine-Budde
     [not found]     ` <4ED379F3.1070206-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-11-28 13:59       ` Wolfgang Grandegger
2011-11-28 14:03         ` David Laight
     [not found]           ` <AE90C24D6B3A694183C094C60CF0A2F6D8AEE9-CgBM+Bx2aUAnGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2011-11-28 14:09             ` Marc Kleine-Budde
     [not found]               ` <4ED3960F.4040508-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-11-28 15:10                 ` Wolfgang Grandegger
2011-11-25  9:43 ` [PATCH net-next v2 3/4] can: cc770: add platform " Wolfgang Grandegger
2011-11-25  9:43 ` [PATCH net-next v2 4/4] powerpc: tqm8548/tqm8xx: add and update CAN device nodes Wolfgang Grandegger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F05FDE1.1040704@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=henrik@focus-sw.com \
    --cc=info@essax.com \
    --cc=linux-can@vger.kernel.org \
    --cc=oe@port.de \
    --cc=wg@grandegger.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).