Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-05-11 Thread Jarkko Nikula
On Tue, 11 May 2010 10:01:22 +0300
Mika Westerberg  wrote:

> I believe this is already in mainline:
> 
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c6bd2010fced38444c9fd658f4c6ce61bd185bf
> 
Ah, yeah. I was using the sound-2.6.git tree which is not yet updated
any newer than 2.6.34-rc4 and that's why I didn't see it. Sorry about
line noise.


-- 
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-05-11 Thread Mika Westerberg
On Tue, May 11, 2010 at 08:54:07AM +0200, ext Jarkko Nikula wrote:
> On Fri, 16 Apr 2010 12:47:50 +0300
> Grazvydas Ignotas  wrote:
> 
> > >> Tested-by: Paul Walmsley 
> > Uhm why does this patch (or Tony's version) doesn't reach mainline for
> > so long? It's critical for all OMAPs except the very old ones.
> > 
> > If it helps:
> > Tested-by: Grazvydas Ignotas 
> > 
> > > Tested-by: Jarkko Nikula 
> 
> Ping? Mike or Tony, can you resend the patch just in case.
> 
> Reminder: 2.6.34 doesn't boot on OMAP without this patch.

I believe this is already in mainline:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c6bd2010fced38444c9fd658f4c6ce61bd185bf

MW
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-05-10 Thread Jarkko Nikula
On Fri, 16 Apr 2010 12:47:50 +0300
Grazvydas Ignotas  wrote:

> >> Tested-by: Paul Walmsley 
> Uhm why does this patch (or Tony's version) doesn't reach mainline for
> so long? It's critical for all OMAPs except the very old ones.
> 
> If it helps:
> Tested-by: Grazvydas Ignotas 
> 
> > Tested-by: Jarkko Nikula 

Ping? Mike or Tony, can you resend the patch just in case.

Reminder: 2.6.34 doesn't boot on OMAP without this patch.


-- 
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-04-16 Thread Grazvydas Ignotas
On Wed, Mar 31, 2010 at 3:27 PM, Jarkko Nikula  wrote:
> On Wed, 31 Mar 2010 04:27:41 -0600 (MDT)
> Paul Walmsley  wrote:
>
>> > This patch moves register shift setting before any register accesses are 
>> > done.
>> >
>> > Signed-off-by: Mika Westerberg 
>> > Cc: Cory Maccarrone 
>>
>> Tested-by: Paul Walmsley 
>>
> BTW, Tony had the same fix buried in an another thread:
>
> http://marc.info/?l=linux-omap&m=126826012627677&w=2
>
> You could add my tested by as well to which one goes in but the fix
> should go for 2.6.34 as the mainline doesn't boot otherwise on OMAP.

Uhm why does this patch (or Tony's version) doesn't reach mainline for
so long? It's critical for all OMAPs except the very old ones.

If it helps:
Tested-by: Grazvydas Ignotas 

>
> Tested-by: Jarkko Nikula 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-03-31 Thread Jarkko Nikula
On Wed, 31 Mar 2010 04:27:41 -0600 (MDT)
Paul Walmsley  wrote:

> > This patch moves register shift setting before any register accesses are 
> > done.
> > 
> > Signed-off-by: Mika Westerberg 
> > Cc: Cory Maccarrone 
> 
> Tested-by: Paul Walmsley 
> 
BTW, Tony had the same fix buried in an another thread:

http://marc.info/?l=linux-omap&m=126826012627677&w=2

You could add my tested by as well to which one goes in but the fix
should go for 2.6.34 as the mainline doesn't boot otherwise on OMAP.

Tested-by: Jarkko Nikula 
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-03-31 Thread Paul Walmsley
Hi Mika, Ben,

On Tue, 23 Mar 2010, Mika Westerberg wrote:

> Commit d84d3ea317ce0db89ce0903b4037f800c5d4c477 added register shift to allow
> also 16-bit register access. However, omap_i2c_unidle() is called before these
> are set which causes the following OOPS:
> 
> Unhandled fault: alignment exception (0x801) at 0xfa070009
> Internal error: : 801 [#1]
> last sysfs file:
> Modules linked in:
> CPU: 0Not tainted  (2.6.34-rc2-00052-gae6be51 #3)
> PC is at omap_i2c_unidle+0x44/0x138
> LR is at trace_hardirqs_on_caller+0x158/0x18c
> pc : []lr : []psr: 2013
> sp : cfc2bf10  ip : 0009  fp : 
> r10:   r9 :   r8 : c0378560
> r7 : c0378b88  r6 : c0378558  r5 : cfcadc00  r4 : cfcadc00
> r3 : 0009  r2 : fa07  r1 :   r0 : 
> Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
> Control: 10c5387f  Table: 80004019  DAC: 0017
> Process swapper (pid: 1, stack limit = 0xcfc2a2e8)
> Stack: (0xcfc2bf10 to 0xcfc2c000)
> bf00: c0372cf8 c027225c  
> c0a69678
> bf20: cfc3e508 c0500898 c0378560 c0378560 c0500898 cfcac8c0 c04fc280 
> c017d4f4
> bf40: c0378560 c017c63c c0378560 c0378594 c0500898 cfcac8c0 c04fc280 
> c017c754
> bf60:  c017c6f4 c0500898 c017beac cfc16a5c cfc3fd94 c0023448 
> c0500898
> bf80: c0500898 c017b7d4 c032dc7f 0093 cfc28d40 c0023448  
> c0500898
> bfa0:    c017ca48 c0023448  c001d274 
> 
> bfc0:  c002b344 0031   0192  
> c0023448
> bfe0:    c0008578  c002c304 ffdf 
> 
> [] (omap_i2c_unidle+0x44/0x138) from [] 
> (omap_i2c_probe+0x1a4/0x398)
> [] (omap_i2c_probe+0x1a4/0x398) from [] 
> (platform_drv_probe+0x18/0x1c)
> [] (platform_drv_probe+0x18/0x1c) from [] 
> (driver_probe_device+0xc0/0x178)
> [] (driver_probe_device+0xc0/0x178) from [] 
> (__driver_attach+0x60/0x84)
> [] (__driver_attach+0x60/0x84) from [] 
> (bus_for_each_dev+0x44/0x74)
> [] (bus_for_each_dev+0x44/0x74) from [] 
> (bus_add_driver+0x9c/0x218)
> [] (bus_add_driver+0x9c/0x218) from [] 
> (driver_register+0xa8/0x130)
> [] (driver_register+0xa8/0x130) from [] 
> (do_one_initcall+0x5c/0x1b8)
> [] (do_one_initcall+0x5c/0x1b8) from [] 
> (kernel_init+0x90/0x144)
> [] (kernel_init+0x90/0x144) from [] 
> (kernel_thread_exit+0x0/0x8)
> Code: e5942004 e3a0c009 e1a0331c e3a01000 (e18210b3)
> ---[ end trace 1b75b31a2719ed1c ]---
> 
> This patch moves register shift setting before any register accesses are done.
> 
> Signed-off-by: Mika Westerberg 
> Cc: Cory Maccarrone 

Tested-by: Paul Walmsley 


- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe

2010-03-23 Thread Mika Westerberg
Commit d84d3ea317ce0db89ce0903b4037f800c5d4c477 added register shift to allow
also 16-bit register access. However, omap_i2c_unidle() is called before these
are set which causes the following OOPS:

Unhandled fault: alignment exception (0x801) at 0xfa070009
Internal error: : 801 [#1]
last sysfs file:
Modules linked in:
CPU: 0Not tainted  (2.6.34-rc2-00052-gae6be51 #3)
PC is at omap_i2c_unidle+0x44/0x138
LR is at trace_hardirqs_on_caller+0x158/0x18c
pc : []lr : []psr: 2013
sp : cfc2bf10  ip : 0009  fp : 
r10:   r9 :   r8 : c0378560
r7 : c0378b88  r6 : c0378558  r5 : cfcadc00  r4 : cfcadc00
r3 : 0009  r2 : fa07  r1 :   r0 : 
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387f  Table: 80004019  DAC: 0017
Process swapper (pid: 1, stack limit = 0xcfc2a2e8)
Stack: (0xcfc2bf10 to 0xcfc2c000)
bf00: c0372cf8 c027225c  
c0a69678
bf20: cfc3e508 c0500898 c0378560 c0378560 c0500898 cfcac8c0 c04fc280 
c017d4f4
bf40: c0378560 c017c63c c0378560 c0378594 c0500898 cfcac8c0 c04fc280 
c017c754
bf60:  c017c6f4 c0500898 c017beac cfc16a5c cfc3fd94 c0023448 
c0500898
bf80: c0500898 c017b7d4 c032dc7f 0093 cfc28d40 c0023448  
c0500898
bfa0:    c017ca48 c0023448  c001d274 

bfc0:  c002b344 0031   0192  
c0023448
bfe0:    c0008578  c002c304 ffdf 

[] (omap_i2c_unidle+0x44/0x138) from [] 
(omap_i2c_probe+0x1a4/0x398)
[] (omap_i2c_probe+0x1a4/0x398) from [] 
(platform_drv_probe+0x18/0x1c)
[] (platform_drv_probe+0x18/0x1c) from [] 
(driver_probe_device+0xc0/0x178)
[] (driver_probe_device+0xc0/0x178) from [] 
(__driver_attach+0x60/0x84)
[] (__driver_attach+0x60/0x84) from [] 
(bus_for_each_dev+0x44/0x74)
[] (bus_for_each_dev+0x44/0x74) from [] 
(bus_add_driver+0x9c/0x218)
[] (bus_add_driver+0x9c/0x218) from [] 
(driver_register+0xa8/0x130)
[] (driver_register+0xa8/0x130) from [] 
(do_one_initcall+0x5c/0x1b8)
[] (do_one_initcall+0x5c/0x1b8) from [] 
(kernel_init+0x90/0x144)
[] (kernel_init+0x90/0x144) from [] 
(kernel_thread_exit+0x0/0x8)
Code: e5942004 e3a0c009 e1a0331c e3a01000 (e18210b3)
---[ end trace 1b75b31a2719ed1c ]---

This patch moves register shift setting before any register accesses are done.

Signed-off-by: Mika Westerberg 
Cc: Cory Maccarrone 
---
 drivers/i2c/busses/i2c-omap.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index c7c2375..0d5a54a 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -902,6 +902,11 @@ omap_i2c_probe(struct platform_device *pdev)
 
platform_set_drvdata(pdev, dev);
 
+   if (cpu_is_omap7xx())
+   dev->reg_shift = 1;
+   else
+   dev->reg_shift = 2;
+
if ((r = omap_i2c_get_clocks(dev)) != 0)
goto err_iounmap;
 
@@ -925,11 +930,6 @@ omap_i2c_probe(struct platform_device *pdev)
dev->b_hw = 1; /* Enable hardware fixes */
}
 
-   if (cpu_is_omap7xx())
-   dev->reg_shift = 1;
-   else
-   dev->reg_shift = 2;
-
/* reset ASAP, clearing any IRQs */
omap_i2c_init(dev);
 
-- 
1.5.6.5

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html