linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PCA9564: "bus is not idle" issue
@ 2010-03-17 12:59 Yegor Yefremov
       [not found] ` <f69abfc31003170559y3c0a5a6fi91c1ae7692700c66-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-03-17 12:59 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA

Hi,

I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
2.6.33/34 running on my system I noticed sporadic problems with RTC:

rtc-ds1307 0-0068: read error -11
RTC_RD_TIME: Input/output error
ioctl() to /dev/rtc to read the time failed.

After turning debug messages in i2c subsystem I got following info:

i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
i2c i2c-0: bus is not idle. status is 0x28 (sometimes it is 0x50 or 0x58)

This is the way I configure RTC and I2C:

/*****************************************************************************
 * RTC DS1337 on I2C bus
 ****************************************************************************/
static struct i2c_board_info __initdata vsopenrisc_i2c_rtc = {
		I2C_BOARD_INFO("ds1337", 0x68),
};
static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
	    .gpio = -1,
	    .i2c_clock_speed = 59000,
	    .timeout = 1,
};

static struct resource pca_resources[] = {
	[0] = {
		 .start	= VSOPENRISC_PA_I2C_BASE,
		 .end	= VSOPENRISC_PA_I2C_BASE + 0x400 - 1,
		 .flags	= IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
   	},
	[1] = {
		.start	= 0,
		.end	= 0,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct platform_device vsopenrisc_pca_device = {
	.name		= "i2c-pca-platform",
	.id		= -1,
	.dev		= {
			    .platform_data	= &pca_data,
			},
	.resource	= pca_resources,
	.num_resources	= ARRAY_SIZE(pca_resources),
};

With the older kernel 2.6.26 I have never encountered such problems
before. Diffing i2c-algo-pca.c between 2.6.26 and 2.6.33 showed that
there were some minor changes regarding waiting policy in pca_xfer().
Could this be the reason for such behavior? Any idea?

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found] ` <f69abfc31003170559y3c0a5a6fi91c1ae7692700c66-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-17 13:52   ` Wolfram Sang
       [not found]     ` <20100317135223.GD4153-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  2010-04-03 16:29   ` Wolfram Sang
  1 sibling, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2010-03-17 13:52 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

On Wed, Mar 17, 2010 at 01:59:03PM +0100, Yegor Yefremov wrote:

> Could this be the reason for such behavior? Any idea?

Can you set the algo-module parameter i2c_debug to 3 and post the log for the
transfer that failed, please?

Regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]     ` <20100317135223.GD4153-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2010-03-17 15:26       ` Yegor Yefremov
       [not found]         ` <f69abfc31003170826j18fa0fddq1c46b8bcebf75c57-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-03-17 15:26 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

>> Could this be the reason for such behavior? Any idea?
>
> Can you set the algo-module parameter i2c_debug to 3 and post the log for the
> transfer that failed, please?

I've increased i2c_debug to 3 and now I get a lot of debug messages,
but the error doesn't occur. These debug messages seem to influence
the timing.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]         ` <f69abfc31003170826j18fa0fddq1c46b8bcebf75c57-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-18  9:01           ` Yegor Yefremov
       [not found]             ` <f69abfc31003180201m5c5e167enf8256c4843e0c6ba-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-03-18  9:01 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

>>> Could this be the reason for such behavior? Any idea?
>>
>> Can you set the algo-module parameter i2c_debug to 3 and post the log for the
>> transfer that failed, please?
>
> I've increased i2c_debug to 3 and now I get a lot of debug messages,
> but the error doesn't occur. These debug messages seem to influence
> the timing.

If I don't redirect syslog to a remote host I get i2c fail. So here you are:

=== START
STATE is 0x08
=== SLAVE ADDRESS 0x68+W=0xd0
STATE is 0x18
=== WRITE 0x00
STATE is 0x28
=== REPEATED START
STATE is 0x10
=== SLAVE ADDRESS 0x68+R=0xd1
STATE is 0x40
STATE is 0x50
=== READ 0x27 ACK
STATE is 0x50
=== READ 0x55 ACK
STATE is 0x50
=== READ 0x08 ACK
STATE is 0x50
=== READ 0x05 ACK
STATE is 0x50
=== READ 0x18 ACK
STATE is 0x50
=== READ 0x83 ACK
STATE is 0x58
=== READ 0x10 NACK
=== STOP
}}} transfered 2/2 messages. status is 0x58. control is 0x55
i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
{{{ XFER 2 messages
    [00] WR 1 bytes to 0x68 [0xd0, 0x00]
    [01] RD 7 bytes from 0x68 [0xd1, ...]
STATE is 0xf8
=== START
STATE is 0x08
=== SLAVE ADDRESS 0x68+W=0xd0
STATE is 0x18
=== WRITE 0x00
STATE is 0x28
=== REPEATED START
STATE is 0x10
=== SLAVE ADDRESS 0x68+R=0xd1
STATE is 0x40
STATE is 0x50
=== READ 0x27 ACK
STATE is 0x50
=== READ 0x55 ACK
STATE is 0x50
=== READ 0x08 ACK
STATE is 0x50
=== READ 0x05 ACK
STATE is 0x50
=== READ 0x18 ACK
STATE is 0x50
=== READ 0x83 ACK
STATE is 0x58
=== READ 0x10 NACK
=== STOP
}}} transfered 2/2 messages. status is 0x58. control is 0x55
i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
{{{ XFER 2 messages
    [00] WR 1 bytes to 0x68 [0xd0, 0x00]
    [01] RD 7 bytes from 0x68 [0xd1, ...]
STATE is 0xf8
=== START
STATE is 0x08
=== SLAVE ADDRESS 0x68+W=0xd0
STATE is 0x18
=== WRITE 0x00
STATE is 0x28
=== REPEATED START
STATE is 0x10
=== SLAVE ADDRESS 0x68+R=0xd1
STATE is 0x40
STATE is 0x50
=== READ 0x27 ACK
STATE is 0x50
=== READ 0x55 ACK
STATE is 0x50
=== READ 0x08 ACK
STATE is 0x50
=== READ 0x05 ACK
STATE is 0x50
=== READ 0x18 ACK
STATE is 0x50
=== READ 0x83 ACK
STATE is 0x58
=== READ 0x10 NACK
=== STOP
}}} transfered 2/2 messages. status is 0x58. control is 0x55
i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
{{{ XFER 2 messages
    [00] WR 1 bytes to 0x68 [0xd0, 0x00]
    [01] RD 7 bytes from 0x68 [0xd1, ...]
STATE is 0xf8
=== START
STATE is 0x08
=== SLAVE ADDRESS 0x68+W=0xd0
STATE is 0x18
=== WRITE 0x00
STATE is 0x28
=== REPEATED START
STATE is 0x10
=== SLAVE ADDRESS 0x68+R=0xd1
STATE is 0x40
STATE is 0x50
=== READ 0x27 ACK
STATE is 0x50
=== READ 0x55 ACK
STATE is 0x50
=== READ 0x08 ACK
STATE is 0x50
=== READ 0x05 ACK
}}} transfered 1/2 messages. status is 0x50. control is 0xcd
rtc-ds1307 0-0068: read error -121
i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
i2c i2c-0: bus is not idle. status is 0x50
rtc-ds1307 0-0068: read error -11
i2c i2c-0: master_xfer[0] W, addr=0x68, len=1
i2c i2c-0: master_xfer[1] R, addr=0x68, len=7
i2c i2c-0: bus is not idle. status is 0x50

As far as I can tell the last transaction lacks "=== STOP" state.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]             ` <f69abfc31003180201m5c5e167enf8256c4843e0c6ba-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-18  9:19               ` Wolfram Sang
       [not found]                 ` <20100318091917.GA27165-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2010-03-18  9:19 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 586 bytes --]

> If I don't redirect syslog to a remote host I get i2c fail. So here you are:

Thanks!

[...]

> As far as I can tell the last transaction lacks "=== STOP" state.

Yes. The bus-status being 0x58 instead of 0xf8 says that, too. I wanted to
check if there is something flaky before. Will have a look, but will probably
be the weekend. You said it does not appear when you use 2.6.26, right?

Regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                 ` <20100318091917.GA27165-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2010-03-18  9:51                   ` Yegor Yefremov
       [not found]                     ` <f69abfc31003180251q53c96f8chc6b96d29c2ceec6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-03-18  9:51 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

On Thu, Mar 18, 2010 at 10:19 AM, Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
>> If I don't redirect syslog to a remote host I get i2c fail. So here you are:
>
> Thanks!
>
> [...]
>
>> As far as I can tell the last transaction lacks "=== STOP" state.
>
> Yes. The bus-status being 0x58 instead of 0xf8 says that, too. I wanted to
> check if there is something flaky before. Will have a look, but will probably
> be the weekend. You said it does not appear when you use 2.6.26, right?

Right. Either it is so seldom, that I don't notice it or it doesn't
occur. But with 2.6.33 it is really frequent.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                     ` <f69abfc31003180251q53c96f8chc6b96d29c2ceec6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-29 14:31                       ` Jean Delvare
       [not found]                         ` <20100329163149.41df7f10-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Jean Delvare @ 2010-03-29 14:31 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: Wolfram Sang, linux-i2c-u79uwXL29TY76Z2rM5mHXA

Wolram, Yegor,

On Thu, 18 Mar 2010 10:51:09 +0100, Yegor Yefremov wrote:
> On Thu, Mar 18, 2010 at 10:19 AM, Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
> >> If I don't redirect syslog to a remote host I get i2c fail. So here you are:
> >
> > Thanks!
> >
> > [...]
> >
> >> As far as I can tell the last transaction lacks "=== STOP" state.
> >
> > Yes. The bus-status being 0x58 instead of 0xf8 says that, too. I wanted to
> > check if there is something flaky before. Will have a look, but will probably
> > be the weekend. You said it does not appear when you use 2.6.26, right?
> 
> Right. Either it is so seldom, that I don't notice it or it doesn't
> occur. But with 2.6.33 it is really frequent.

Any progress on this? If this is a regression, we want to fix it
quickly.

Thanks,
-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                         ` <20100329163149.41df7f10-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
@ 2010-03-30 13:16                           ` Yegor Yefremov
  0 siblings, 0 replies; 15+ messages in thread
From: Yegor Yefremov @ 2010-03-30 13:16 UTC (permalink / raw)
  To: Jean Delvare; +Cc: Wolfram Sang, linux-i2c-u79uwXL29TY76Z2rM5mHXA

>> >> If I don't redirect syslog to a remote host I get i2c fail. So here you are:
>> >
>> > Thanks!
>> >
>> > [...]
>> >
>> >> As far as I can tell the last transaction lacks "=== STOP" state.
>> >
>> > Yes. The bus-status being 0x58 instead of 0xf8 says that, too. I wanted to
>> > check if there is something flaky before. Will have a look, but will probably
>> > be the weekend. You said it does not appear when you use 2.6.26, right?
>>
>> Right. Either it is so seldom, that I don't notice it or it doesn't
>> occur. But with 2.6.33 it is really frequent.
>
> Any progress on this? If this is a regression, we want to fix it
> quickly.

I'm not really further. But I use a workaround for my system by just
using this revision:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.33.y.git;a=commit;h=eff9ec95efaaf6b12d230f0ea7d3c295d3bc9d57.
With revision i2c is working quite stable.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found] ` <f69abfc31003170559y3c0a5a6fi91c1ae7692700c66-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2010-03-17 13:52   ` Wolfram Sang
@ 2010-04-03 16:29   ` Wolfram Sang
       [not found]     ` <20100403162939.GA2190-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  1 sibling, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2010-04-03 16:29 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 981 bytes --]

On Wed, Mar 17, 2010 at 01:59:03PM +0100, Yegor Yefremov wrote:
> Hi,
> 
> I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
> 2.6.33/34 running on my system I noticed sporadic problems with RTC:

[...]

> static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
> 	    .gpio = -1,
> 	    .i2c_clock_speed = 59000,
> 	    .timeout = 1,
> };

Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.

> before. Diffing i2c-algo-pca.c between 2.6.26 and 2.6.33 showed that
> there were some minor changes regarding waiting policy in pca_xfer().
> Could this be the reason for such behavior? Any idea?

You were almost there, just use 'git log' next time.

Kind regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]     ` <20100403162939.GA2190-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2010-04-03 18:23       ` Jean Delvare
       [not found]         ` <20100403202329.3bdb407c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Jean Delvare @ 2010-04-03 18:23 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Yegor Yefremov, linux-i2c-u79uwXL29TY76Z2rM5mHXA

On Sat, 3 Apr 2010 18:29:39 +0200, Wolfram Sang wrote:
> On Wed, Mar 17, 2010 at 01:59:03PM +0100, Yegor Yefremov wrote:
> > Hi,
> > 
> > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
> > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
> 
> [...]
> 
> > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
> > 	    .gpio = -1,
> > 	    .i2c_clock_speed = 59000,
> > 	    .timeout = 1,
> > };
> 
> Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
> jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
> 
> > before. Diffing i2c-algo-pca.c between 2.6.26 and 2.6.33 showed that
> > there were some minor changes regarding waiting policy in pca_xfer().
> > Could this be the reason for such behavior? Any idea?
> 
> You were almost there, just use 'git log' next time.

So this means the bug isn't in the mainline kernel tree and I can
ignore it?

As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
to 10000, so the actual timeout depends on the value of HZ, which is
probably not desirable. Not to mention that a timeout of over one
minute (worst case) doesn't seem too smart ;)

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]         ` <20100403202329.3bdb407c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
@ 2010-04-04  3:29           ` Wolfram Sang
       [not found]             ` <20100404032929.GA12800-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2010-04-04  3:29 UTC (permalink / raw)
  To: Jean Delvare; +Cc: Yegor Yefremov, linux-i2c-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

> > > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
> > > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
> > 
> > [...]
> > 
> > > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
> > > 	    .gpio = -1,
> > > 	    .i2c_clock_speed = 59000,
> > > 	    .timeout = 1,
> > > };
> > 
> > Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
> > jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
> 
> So this means the bug isn't in the mainline kernel tree and I can
> ignore it?

A confirmation from Yegor would be nice, but his logs let me believe that
this is really the cause.

> As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
> to 10000, so the actual timeout depends on the value of HZ, which is
> probably not desirable. Not to mention that a timeout of over one
> minute (worst case) doesn't seem too smart ;)

There is also an i2c-gpio-user using non-HZ value. Will prepare patches.

Regards,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]             ` <20100404032929.GA12800-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2010-04-04 11:00               ` Yegor Yefremov
       [not found]                 ` <t2zf69abfc31004040400wc3330285pe5d4602d31e0a52b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-04-04 11:00 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Jean Delvare, linux-i2c-u79uwXL29TY76Z2rM5mHXA

On Sun, Apr 4, 2010 at 5:29 AM, Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> wrote:
>> > > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
>> > > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
>> >
>> > [...]
>> >
>> > > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
>> > >       .gpio = -1,
>> > >       .i2c_clock_speed = 59000,
>> > >       .timeout = 1,
>> > > };
>> >
>> > Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
>> > jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
>>
>> So this means the bug isn't in the mainline kernel tree and I can
>> ignore it?
>
> A confirmation from Yegor would be nice, but his logs let me believe that
> this is really the cause.
>
>> As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
>> to 10000, so the actual timeout depends on the value of HZ, which is
>> probably not desirable. Not to mention that a timeout of over one
>> minute (worst case) doesn't seem too smart ;)
>
> There is also an i2c-gpio-user using non-HZ value. Will prepare patches.

Thank for your solution. I'll try it on Tuesday and confirm ASAP.

Happy Easter!

Best regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                 ` <t2zf69abfc31004040400wc3330285pe5d4602d31e0a52b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-04-06  7:48                   ` Yegor Yefremov
       [not found]                     ` <j2pf69abfc31004060048z1b9500e1g9e12fb5bd794dc4a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Yegor Yefremov @ 2010-04-06  7:48 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Jean Delvare, linux-i2c-u79uwXL29TY76Z2rM5mHXA

>>> > > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
>>> > > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
>>> >
>>> > [...]
>>> >
>>> > > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
>>> > >       .gpio = -1,
>>> > >       .i2c_clock_speed = 59000,
>>> > >       .timeout = 1,
>>> > > };
>>> >
>>> > Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
>>> > jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
>>>
>>> So this means the bug isn't in the mainline kernel tree and I can
>>> ignore it?
>>
>> A confirmation from Yegor would be nice, but his logs let me believe that
>> this is really the cause.
>>
>>> As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
>>> to 10000, so the actual timeout depends on the value of HZ, which is
>>> probably not desirable. Not to mention that a timeout of over one
>>> minute (worst case) doesn't seem too smart ;)
>>
>> There is also an i2c-gpio-user using non-HZ value. Will prepare patches.
>
> Thank for your solution. I'll try it on Tuesday and confirm ASAP.

Wolfram, do you mean so:

static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
           .gpio = -1,
           .i2c_clock_speed = 59000,
           .timeout = HZ,
};

I've tried this, but with the same result. The bus is still not idle.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                     ` <j2pf69abfc31004060048z1b9500e1g9e12fb5bd794dc4a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-04-06  7:52                       ` Wolfram Sang
       [not found]                         ` <20100406075208.GA5102-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2010-04-06  7:52 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: Jean Delvare, linux-i2c-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1862 bytes --]

On Tue, Apr 06, 2010 at 09:48:49AM +0200, Yegor Yefremov wrote:
> >>> > > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
> >>> > > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
> >>> >
> >>> > [...]
> >>> >
> >>> > > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
> >>> > >       .gpio = -1,
> >>> > >       .i2c_clock_speed = 59000,
> >>> > >       .timeout = 1,
> >>> > > };
> >>> >
> >>> > Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
> >>> > jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
> >>>
> >>> So this means the bug isn't in the mainline kernel tree and I can
> >>> ignore it?
> >>
> >> A confirmation from Yegor would be nice, but his logs let me believe that
> >> this is really the cause.
> >>
> >>> As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
> >>> to 10000, so the actual timeout depends on the value of HZ, which is
> >>> probably not desirable. Not to mention that a timeout of over one
> >>> minute (worst case) doesn't seem too smart ;)
> >>
> >> There is also an i2c-gpio-user using non-HZ value. Will prepare patches.
> >
> > Thank for your solution. I'll try it on Tuesday and confirm ASAP.
> 
> Wolfram, do you mean so:
> 
> static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
>            .gpio = -1,
>            .i2c_clock_speed = 59000,
>            .timeout = HZ,
> };
> 
> I've tried this, but with the same result. The bus is still not idle.

That's bad news :(( Did you notice a difference in behaviour? There should be a
1 second delay now before the message arises...

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: PCA9564: "bus is not idle" issue
       [not found]                         ` <20100406075208.GA5102-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2010-04-06  8:04                           ` Yegor Yefremov
  0 siblings, 0 replies; 15+ messages in thread
From: Yegor Yefremov @ 2010-04-06  8:04 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Jean Delvare, linux-i2c-u79uwXL29TY76Z2rM5mHXA

>> >>> > > I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get
>> >>> > > 2.6.33/34 running on my system I noticed sporadic problems with RTC:
>> >>> >
>> >>> > [...]
>> >>> >
>> >>> > > static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
>> >>> > >       .gpio = -1,
>> >>> > >       .i2c_clock_speed = 59000,
>> >>> > >       .timeout = 1,
>> >>> > > };
>> >>> >
>> >>> > Commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 changed the timeout settings to
>> >>> > jiffies. So, one jiffy as timeout will not work. Try 'HZ' here.
>> >>>
>> >>> So this means the bug isn't in the mainline kernel tree and I can
>> >>> ignore it?
>> >>
>> >> A confirmation from Yegor would be nice, but his logs let me believe that
>> >> this is really the cause.
>> >>
>> >>> As a side note, arch/blackfin/mach-bf561/boards/acvilon.c sets timeout
>> >>> to 10000, so the actual timeout depends on the value of HZ, which is
>> >>> probably not desirable. Not to mention that a timeout of over one
>> >>> minute (worst case) doesn't seem too smart ;)
>> >>
>> >> There is also an i2c-gpio-user using non-HZ value. Will prepare patches.
>> >
>> > Thank for your solution. I'll try it on Tuesday and confirm ASAP.
>>
>> Wolfram, do you mean so:
>>
>> static struct i2c_pca9564_pf_platform_data  __initdata pca_data ={
>>            .gpio = -1,
>>            .i2c_clock_speed = 59000,
>>            .timeout = HZ,
>> };
>>
>> I've tried this, but with the same result. The bus is still not idle.
>
> That's bad news :(( Did you notice a difference in behaviour? There should be a
> 1 second delay now before the message arises...

Yes, I can confirm this delay. But apart from these delay I can't see
any difference in behavior.

Regards,
Yegor

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2010-04-06  8:04 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-17 12:59 PCA9564: "bus is not idle" issue Yegor Yefremov
     [not found] ` <f69abfc31003170559y3c0a5a6fi91c1ae7692700c66-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-17 13:52   ` Wolfram Sang
     [not found]     ` <20100317135223.GD4153-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-03-17 15:26       ` Yegor Yefremov
     [not found]         ` <f69abfc31003170826j18fa0fddq1c46b8bcebf75c57-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-18  9:01           ` Yegor Yefremov
     [not found]             ` <f69abfc31003180201m5c5e167enf8256c4843e0c6ba-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-18  9:19               ` Wolfram Sang
     [not found]                 ` <20100318091917.GA27165-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-03-18  9:51                   ` Yegor Yefremov
     [not found]                     ` <f69abfc31003180251q53c96f8chc6b96d29c2ceec6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-29 14:31                       ` Jean Delvare
     [not found]                         ` <20100329163149.41df7f10-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-03-30 13:16                           ` Yegor Yefremov
2010-04-03 16:29   ` Wolfram Sang
     [not found]     ` <20100403162939.GA2190-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-04-03 18:23       ` Jean Delvare
     [not found]         ` <20100403202329.3bdb407c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-04-04  3:29           ` Wolfram Sang
     [not found]             ` <20100404032929.GA12800-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-04-04 11:00               ` Yegor Yefremov
     [not found]                 ` <t2zf69abfc31004040400wc3330285pe5d4602d31e0a52b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-06  7:48                   ` Yegor Yefremov
     [not found]                     ` <j2pf69abfc31004060048z1b9500e1g9e12fb5bd794dc4a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-06  7:52                       ` Wolfram Sang
     [not found]                         ` <20100406075208.GA5102-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2010-04-06  8:04                           ` Yegor Yefremov

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).