From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Jean Pihet <jean.pihet@newoldbits.com>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
linux-omap@vger.kernel.org,
linux-fbdev <linux-fbdev@vger.kernel.org>,
Tony Lindgren <tony@atomide.com>
Subject: Re: [GIT PULL] OMAP DSS for v3.5
Date: Tue, 05 Jun 2012 12:33:13 +0000 [thread overview]
Message-ID: <1338899593.4456.6.camel@deskari> (raw)
In-Reply-To: <CAORVsuXLhGCEHMbZB_8FrzfL-sMH76wMH9rdUjOzOfL06bLH4w@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2360 bytes --]
Hi Jean,
On Tue, 2012-06-05 at 14:17 +0200, Jean Pihet wrote:
> Hi Tomi,
> I am using a mainline kernel (3.5.0-rc1) with the patches below integrated.
> I have an issue with suspend/resume on OMAP3 Beagleboard, where the
> system hangs at resume time.
>
> Here below is a log with the option no_console_suspend set and a few
> added messages in case of null pointer in _od_resume_noirq.
> It looks like there is no omap_device associated to the "omapdss_dpi" pdev.
>
> What do you think? How to fix this?
> Sorry I know there have been some discussions on the lists but I am
> not aware of all the details in the devices creation for DSS.
>
> / # echo mem > /sys/power/state
> [ 23.262298] PM: Syncing filesystems ... done.
> [ 23.295501] Freezing user space processes ... (elapsed 0.02 seconds) done.
> [ 23.326507] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) don
> e.
> [ 23.502197] PM: suspend of devices complete after 163.766 msecs
> [ 23.511932] PM: late suspend of devices complete after 3.418 msecs
> [ 23.524444] PM: noirq suspend of devices complete after 5.860 msecs
> [ 23.531249] Disabling non-boot CPUs ...
> [ 24.476562] Powerdomain (per_pwrdm) didn't enter target state 1
> [ 24.482818] Powerdomain (core_pwrdm) didn't enter target state 1
> [ 24.489166] Could not enter target state in pm_suspend
> [ 24.495147] *** _od_resume_noirq: od=NULL, dev=0xc78bcc08
> [ 24.500915] *** _od_resume_noirq: od=NULL, pdev=0xc78bcc00
> [ 24.506805] *** _od_resume_noirq: od=NULL, pdev->name:omapdss_dpi
> [ 24.513336] Unable to handle kernel NULL pointer dereference at virtual addre
> ss 00000018
> [ 24.521942] pgd = c62f0000
> [ 24.524841] [00000018] *pgd=862c1831, *pte=00000000, *ppte=00000000
> [ 24.531524] Internal error: Oops: 17 [#1] SMP ARM
> [ 24.536529] Modules linked in:
> [ 24.539764] CPU: 0 Not tainted (3.5.0-rc1-00010-g5041caa-dirty #131)
> [ 24.546844] PC is at _od_resume_noirq+0x1c/0xac
> [ 24.551635] LR is at _od_resume_noirq+0x94/0xac
> ...
I'm on leave currently, so I can't test it right now. But can you try
the attached patch? Or even better, try merging the tag:
git://gitorious.org/linux-omap-dss2/linux.git tags/omapdss-for-3.5-rc2
which contains the included patch plus a couple other fixes.
Tomi
[-- Attachment #1.2: 0001-OMAPDSS-fix-registration-of-DPI-and-SDI-devices.patch --]
[-- Type: text/x-patch, Size: 2547 bytes --]
From 4ea30e9e0f2956b2ebcf1e81ac08d7c6691cf32d Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Tue, 5 Jun 2012 13:17:32 +0300
Subject: [PATCH] OMAPDSS: fix registration of DPI and SDI devices
The omapdss arch initialization code registers all the output devices as
omap_devices. However, DPI and SDI are not proper omap_devices, as they
do not have any corresponding HWMOD. This leads to crashes or problems
when the platform code tries to use omap_device functions for DPI and
SDI devices.
One such crash was reported by John Stultz <johnstul@us.ibm.com>:
[ 18.756835] Unable to handle kernel NULL pointer dereference at
virtual addr8
[ 18.765319] pgd = ea6b8000
[ 18.768188] [00000018] *pgd=aa942831, *pte=00000000, *ppte=00000000
[ 18.774749] Internal error: Oops: 17 [#1] SMP ARM
[ 18.779663] Modules linked in:
[ 18.782836] CPU: 0 Not tainted (3.5.0-rc1-dirty #456)
[ 18.788482] PC is at _od_resume_noirq+0x1c/0x78
[ 18.793212] LR is at _od_resume_noirq+0x6c/0x78
[ 18.797943] pc : [<c00307ec>] lr : [<c003083c>] psr: 20000113
[ 18.797943] sp : ec3abe80 ip : ec3abdb8 fp : 00000006
[ 18.809936] r10: ec1148b8 r9 : c08a48f0 r8 : c00307d0
[ 18.815368] r7 : 00000000 r6 : 00000000 r5 : ec114800 r4 :
ec114808
[ 18.822174] r3 : 00000000 r2 : 00000000 r1 : ec154fe8 r0 :
00000006
[ 18.829010] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment user
[ 18.836456] Control: 10c5387d Table: aa6b804a DAC: 00000015
[ 18.842437] Process sh (pid: 1139, stack limit = 0xec3aa2f0)
[ 18.848358] Stack: (0xec3abe80 to 0xec3ac000)
DPI and SDI can be plain platform_devices. This patch changes the
registration from omap_device_register() to platform_device_add().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: John Stultz <johnstul@us.ibm.com>
---
arch/arm/mach-omap2/display.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 54d49dd..5fb47a1 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -271,9 +271,9 @@ static struct platform_device *create_simple_dss_pdev(const char *pdev_name,
goto err;
}
- r = omap_device_register(pdev);
+ r = platform_device_add(pdev);
if (r) {
- pr_err("Could not register omap_device for %s\n", pdev_name);
+ pr_err("Could not register platform_device for %s\n", pdev_name);
goto err;
}
--
1.7.9.5
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Jean Pihet <jean.pihet@newoldbits.com>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
linux-omap@vger.kernel.org,
linux-fbdev <linux-fbdev@vger.kernel.org>,
Tony Lindgren <tony@atomide.com>
Subject: Re: [GIT PULL] OMAP DSS for v3.5
Date: Tue, 05 Jun 2012 15:33:13 +0300 [thread overview]
Message-ID: <1338899593.4456.6.camel@deskari> (raw)
In-Reply-To: <CAORVsuXLhGCEHMbZB_8FrzfL-sMH76wMH9rdUjOzOfL06bLH4w@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2360 bytes --]
Hi Jean,
On Tue, 2012-06-05 at 14:17 +0200, Jean Pihet wrote:
> Hi Tomi,
> I am using a mainline kernel (3.5.0-rc1) with the patches below integrated.
> I have an issue with suspend/resume on OMAP3 Beagleboard, where the
> system hangs at resume time.
>
> Here below is a log with the option no_console_suspend set and a few
> added messages in case of null pointer in _od_resume_noirq.
> It looks like there is no omap_device associated to the "omapdss_dpi" pdev.
>
> What do you think? How to fix this?
> Sorry I know there have been some discussions on the lists but I am
> not aware of all the details in the devices creation for DSS.
>
> / # echo mem > /sys/power/state
> [ 23.262298] PM: Syncing filesystems ... done.
> [ 23.295501] Freezing user space processes ... (elapsed 0.02 seconds) done.
> [ 23.326507] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) don
> e.
> [ 23.502197] PM: suspend of devices complete after 163.766 msecs
> [ 23.511932] PM: late suspend of devices complete after 3.418 msecs
> [ 23.524444] PM: noirq suspend of devices complete after 5.860 msecs
> [ 23.531249] Disabling non-boot CPUs ...
> [ 24.476562] Powerdomain (per_pwrdm) didn't enter target state 1
> [ 24.482818] Powerdomain (core_pwrdm) didn't enter target state 1
> [ 24.489166] Could not enter target state in pm_suspend
> [ 24.495147] *** _od_resume_noirq: od=NULL, dev=0xc78bcc08
> [ 24.500915] *** _od_resume_noirq: od=NULL, pdev=0xc78bcc00
> [ 24.506805] *** _od_resume_noirq: od=NULL, pdev->name:omapdss_dpi
> [ 24.513336] Unable to handle kernel NULL pointer dereference at virtual addre
> ss 00000018
> [ 24.521942] pgd = c62f0000
> [ 24.524841] [00000018] *pgd=862c1831, *pte=00000000, *ppte=00000000
> [ 24.531524] Internal error: Oops: 17 [#1] SMP ARM
> [ 24.536529] Modules linked in:
> [ 24.539764] CPU: 0 Not tainted (3.5.0-rc1-00010-g5041caa-dirty #131)
> [ 24.546844] PC is at _od_resume_noirq+0x1c/0xac
> [ 24.551635] LR is at _od_resume_noirq+0x94/0xac
> ...
I'm on leave currently, so I can't test it right now. But can you try
the attached patch? Or even better, try merging the tag:
git://gitorious.org/linux-omap-dss2/linux.git tags/omapdss-for-3.5-rc2
which contains the included patch plus a couple other fixes.
Tomi
[-- Attachment #1.2: 0001-OMAPDSS-fix-registration-of-DPI-and-SDI-devices.patch --]
[-- Type: text/x-patch, Size: 2547 bytes --]
From 4ea30e9e0f2956b2ebcf1e81ac08d7c6691cf32d Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Tue, 5 Jun 2012 13:17:32 +0300
Subject: [PATCH] OMAPDSS: fix registration of DPI and SDI devices
The omapdss arch initialization code registers all the output devices as
omap_devices. However, DPI and SDI are not proper omap_devices, as they
do not have any corresponding HWMOD. This leads to crashes or problems
when the platform code tries to use omap_device functions for DPI and
SDI devices.
One such crash was reported by John Stultz <johnstul@us.ibm.com>:
[ 18.756835] Unable to handle kernel NULL pointer dereference at
virtual addr8
[ 18.765319] pgd = ea6b8000
[ 18.768188] [00000018] *pgd=aa942831, *pte=00000000, *ppte=00000000
[ 18.774749] Internal error: Oops: 17 [#1] SMP ARM
[ 18.779663] Modules linked in:
[ 18.782836] CPU: 0 Not tainted (3.5.0-rc1-dirty #456)
[ 18.788482] PC is at _od_resume_noirq+0x1c/0x78
[ 18.793212] LR is at _od_resume_noirq+0x6c/0x78
[ 18.797943] pc : [<c00307ec>] lr : [<c003083c>] psr: 20000113
[ 18.797943] sp : ec3abe80 ip : ec3abdb8 fp : 00000006
[ 18.809936] r10: ec1148b8 r9 : c08a48f0 r8 : c00307d0
[ 18.815368] r7 : 00000000 r6 : 00000000 r5 : ec114800 r4 :
ec114808
[ 18.822174] r3 : 00000000 r2 : 00000000 r1 : ec154fe8 r0 :
00000006
[ 18.829010] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment user
[ 18.836456] Control: 10c5387d Table: aa6b804a DAC: 00000015
[ 18.842437] Process sh (pid: 1139, stack limit = 0xec3aa2f0)
[ 18.848358] Stack: (0xec3abe80 to 0xec3ac000)
DPI and SDI can be plain platform_devices. This patch changes the
registration from omap_device_register() to platform_device_add().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: John Stultz <johnstul@us.ibm.com>
---
arch/arm/mach-omap2/display.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 54d49dd..5fb47a1 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -271,9 +271,9 @@ static struct platform_device *create_simple_dss_pdev(const char *pdev_name,
goto err;
}
- r = omap_device_register(pdev);
+ r = platform_device_add(pdev);
if (r) {
- pr_err("Could not register omap_device for %s\n", pdev_name);
+ pr_err("Could not register platform_device for %s\n", pdev_name);
goto err;
}
--
1.7.9.5
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2012-06-05 12:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-22 10:09 [GIT PULL] OMAP DSS for v3.5 Tomi Valkeinen
2012-05-22 10:09 ` Tomi Valkeinen
2012-05-29 15:05 ` Florian Tobias Schandinat
2012-06-05 12:17 ` Jean Pihet
2012-06-05 12:17 ` Jean Pihet
2012-06-05 12:33 ` Tomi Valkeinen [this message]
2012-06-05 12:33 ` Tomi Valkeinen
2012-06-05 13:00 ` Jean Pihet
2012-06-05 13:00 ` Jean Pihet
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=1338899593.4456.6.camel@deskari \
--to=tomi.valkeinen@ti.com \
--cc=FlorianSchandinat@gmx.de \
--cc=jean.pihet@newoldbits.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.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.