Re: [PATCH] i2c: omap: fix OOPS in omap_i2c_unidle() during probe
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
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
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
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
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
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
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