* 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[parent not found: <f69abfc31003170559y3c0a5a6fi91c1ae7692700c66-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <20100317135223.GD4153-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* 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
[parent not found: <f69abfc31003170826j18fa0fddq1c46b8bcebf75c57-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <f69abfc31003180201m5c5e167enf8256c4843e0c6ba-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <20100318091917.GA27165-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* 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
[parent not found: <f69abfc31003180251q53c96f8chc6b96d29c2ceec6d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <20100329163149.41df7f10-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>]
* 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
[parent not found: <20100403162939.GA2190-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* 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
[parent not found: <20100403202329.3bdb407c-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>]
* 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
[parent not found: <20100404032929.GA12800-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* 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
[parent not found: <t2zf69abfc31004040400wc3330285pe5d4602d31e0a52b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <j2pf69abfc31004060048z1b9500e1g9e12fb5bd794dc4a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* 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
[parent not found: <20100406075208.GA5102-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* 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