All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Stein <alexander.stein@systec-electronic.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Wolfgang Grandegger <wg@grandegger.com>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	linux-can@vger.kernel.org
Subject: Re: [PATCH] c_can: Add support for eg20t (pch_can)
Date: Tue, 08 Apr 2014 08:17:49 +0200	[thread overview]
Message-ID: <1478648.0J5yx6jf7X@ws-stein> (raw)
In-Reply-To: <alpine.DEB.2.02.1404072158350.14882@ionos.tec.linutronix.de>

On Monday 07 April 2014 22:03:33, Thomas Gleixner wrote:
> On Mon, 7 Apr 2014, Wolfgang Grandegger wrote:
> > On 04/07/2014 05:53 PM, Thomas Gleixner wrote:
> > > On Mon, 7 Apr 2014, Alexander Stein wrote:
> > >> On Monday 07 April 2014 17:24:26, Thomas Gleixner wrote:
> > >>> It'd be odd, because we get the buffers with the NEWDAT pending bits
> > >>> from the NEWDATA1 register.
> > >>
> > >  
> > >> Using the following patch the warning raises about every 5ms. With
> > >> and without your last patchset.
> > > 
> > >> but reverting c0a9f4d39 this does _NOT_ arise.
> > > 
> > > So the NEWDAT register is telling us that the newdat bit of that
> > > buffer is set. But when we retrieve the message, it's not set.
> > 
> > 
> > Not sure if it matters. There was a strange write-readback problem
> > reported with the PCH CAN. I digged out:
> > 
> > http://marc.info/?l=linux-can&m=135525750319741&w=2
> > http://marc.info/?l=linux-can&m=135525729919672&w=2
> > http://marc.info/?t=135296394900001&r=1&w=2
> > 
> > It got worse with concurrent activity of I2C on some eg20t system which
> > smells of a weired hardware problem (and could maybe explain the 5ms
> > period).
> 
> Well, looking at the report:
> 
> > I cannot say if any (small) I2C transfer at all raises the
> > problem. I run 'cangen -I 0x300 can0' on my PC connected to my test
> > board. A I2C connected LED is triggered by heartbeat thus there is a
> > small I2C traffic each second. I couldn't see any errors in dmesg in
> > about 10 minutes. But even with that small CAN traffic (next to
> > nothing) a 'watch sensors' (which queries several I2C sensors every
> > 2s) caused errors in dmesg. It seems the problem isn't related to
> > CAN bus load at all.
> 
> I2C connected LED? How is that supposed to work? You cannot run I2C
> traffic from softirq context. 

Why not? The led_heartbeat_function function (kernel v3.0.31 in that case) runs at last pca955x_led_set which calls schedule_work.
To my surprise using the current kernel and c_can driver (I used pch_can in v3.0.x) it seems that I2C transfer doesn't affect CAN at all.

Regards,
Alexander
-- 
Dipl.-Inf. Alexander Stein

SYS TEC electronic GmbH
Am Windrad 2
08468 Heinsdorfergrund
Tel.: 03765 38600-1156
Fax: 03765 38600-4100
Email: alexander.stein@systec-electronic.com
Website: www.systec-electronic.com
 
Managing Director: Dipl.-Phys. Siegmar Schmidt
Commercial registry: Amtsgericht Chemnitz, HRB 28082


  reply	other threads:[~2014-04-08  6:19 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03 14:14 [PATCH] c_can: Add support for eg20t (pch_can) Alexander Stein
2014-04-03 14:55 ` Alexander Stein
2014-04-03 14:59   ` Marc Kleine-Budde
2014-04-03 15:11     ` Thomas Gleixner
2014-04-03 15:47       ` Alexander Stein
2014-04-03 19:28         ` Oliver Hartkopp
2014-04-03 20:59           ` Thomas Gleixner
2014-04-03 20:28         ` Thomas Gleixner
2014-04-03 18:41 ` Wolfgang Grandegger
2014-04-07  9:47   ` Alexander Stein
2014-04-07 10:19     ` Wolfgang Grandegger
2014-04-07 12:06     ` Thomas Gleixner
2014-04-07 12:07       ` Marc Kleine-Budde
2014-04-07 12:24         ` Alexander Stein
2014-04-07 12:34           ` Thomas Gleixner
2014-04-07 12:48             ` Alexander Stein
2014-04-07 12:56               ` Thomas Gleixner
2014-04-07 12:58                 ` Alexander Stein
2014-04-07 13:31                   ` Thomas Gleixner
2014-04-07 14:27                     ` Alexander Stein
2014-04-07 15:24                       ` Thomas Gleixner
2014-04-07 15:36                         ` Alexander Stein
2014-04-07 15:53                           ` Thomas Gleixner
2014-04-07 16:06                             ` Alexander Stein
2014-04-07 16:27                               ` Thomas Gleixner
2014-04-08  7:07                                 ` Alexander Stein
2014-04-08  8:26                                   ` Thomas Gleixner
2014-04-08  8:36                                     ` Alexander Stein
2014-04-08  7:18                                 ` Alexander Stein
2014-04-08  7:35                                   ` Thomas Gleixner
2014-04-07 16:27                             ` Wolfgang Grandegger
2014-04-07 20:03                               ` Thomas Gleixner
2014-04-08  6:17                                 ` Alexander Stein [this message]
2014-04-08  8:04                                   ` Thomas Gleixner
2014-04-07 18:11                         ` Marc Kleine-Budde
2014-04-07 18:15                           ` Thomas Gleixner
2014-04-17 19:53   ` Marc Kleine-Budde

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=1478648.0J5yx6jf7X@ws-stein \
    --to=alexander.stein@systec-electronic.com \
    --cc=linux-can@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=tglx@linutronix.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.