Ticket #1336 (closed defect: fixed)

Opened 11 years ago

Last modified 10 years ago

screen shifted and duplicated after resume in landscape mode

Reported by: werner@… Owned by: andy
Priority: high Milestone:
Component: kernel Version: current svn head
Severity: normal Keywords:
Cc: testing@…, nytowl@… Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible:

Description

If switching the GUI to landscape and doing a suspend/resume, the
screen comes back shifted by ~160 pixels to the right, with the
left ~160 pixels showing the same content as the right ~160 pixels.
(So the rightmost ~160 pixels of the image are not shown.)

xwd yields an image of the correct screen content.

So it seems that some of the screen geometry is reset to portrait
in resume.

Change History

comment:1 Changed 11 years ago by andy@…

  • Status changed from new to assigned

I examined the code but it only seems to touch memory registers on resume as
intended. Can you please capture and post here

# cat /sys/devices/platform/glamo3362.0/regs

before and after the landscape suspend.

comment:2 Changed 11 years ago by werner@…

(Running latest origin/stable, but with a hodgepodge of modules. I don't
think the modules matter in this case. If you think they do, I'll upgrade
them and try again.)

Before:

root@om-gta02:~# cat /sys/devices/platform/glamo3362.0/regs

General

0000: 2020 3650 0002 01ff 0000 0000 0000 0000
0010: 000d 000b 00ee 000f 1082 1000 3000 002f
0020: 1000 0000 3000 1000 0000 0000 0000 0000
0030: 18fd 0010 2000 0003 01ff 0000 0000 0000
0040: 05db 5d5b 09c3 930e 0003 0000 0000 0000
0050: 000f 111e ccc3 111e 000f 0001 070f 020f
0060: 080f 0f0f 0000 0000 0000 0000 0000 0000
0070: 0000 0000 0000 0000 0000 0000 0000 0000
0080: 0000 0000 0000 0000 0000 0000 0000 0000
0090: 0000 0000 0000 0000 0000 0000 0000 0000
00A0: 0000 0000 0000 0000 0000 0000 0000 0000
00B0: 0000 0000 0000 0000 0000 0000 0000 0000
00C0: 0000 0000 0000 0000 0000 0000 0000 0000
00D0: 0000 0000 0000 0000 0000 0000 0000 0000
00E0: 0000 0000 0000 0000 0000 0000 0000 0000
00F0: 0000 0000 0000 0000 0000 0000 0000 0000
0100: 0000 0000 0000 0000 0000 0000 0000 0000
0110: 0000 0000 0000 0000 0000 0000 0000 0000
0120: 0000 0000 0000 0000 0000 0000 0000 0000
0130: 0000 0000 0000 0000 0000 0000 0000 0000
0140: 0000 0000 0000 0000 0000 0000 0000 0000
0150: 0000 0000 0000 0000 0000 0000 0000 0000
0160: 0000 0000 0000 0000 0000 0000 0000 0000
0170: 0000 0000 0000 0000 0000 0000 0000 0000
0180: 0000 0000 0000 0000 0000 0000 0000 0000
0190: 0000 0000 0000 0000 0000 0000 0000 0000
01A0: 0000 0000 0000 0000 0000 0000 0000 0000
01B0: 0000 0000 0000 0000 0000 0000 0000 0000
01C0: 0000 0000 0000 0000 0000 0000 0000 0000
01D0: 0000 0000 0000 0000 0000 0000 0000 0000
01E0: 0000 0000 0000 0000 0000 0000 0000 0000
01F0: 0000 0000 0000 0000 0000 0000 0000 0000

Host Bus

0400: 0ef0 07ff 0000 0080 0344 0600 0000 0000
0410: 0000 0000 4000 f00e 00c0 00c0 00c0 00c0
0420: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0430: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0440: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0450: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0460: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0470: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0480: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0490: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04A0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04B0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04C0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04D0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04E0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04F0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0

Memory

0600: 0874 afaf 0108 0010 0000 0000 0000 0000
0610: 0000 1002 6006 00ff 0001 0020 0000 0000
0620: 0000 0000 0000 0000 0000 0000 0000 0000
0630: 3210 5432 e100 01d6 0000 0000 0000 0000
0640: 0000 0000 0000 0000 0000 0000 0000 0000
0650: 0000 0000 0000 0000 0000 0000 0000 0000
0660: 0000 0000 0000 0000 0000 0000 0000 0000
0670: 0000 0000 0000 0000 0000 0000 0000 0000
0680: 0000 0000 0000 0000 0000 0000 0000 0000
0690: 0000 0000 0000 0000 0000 0000 0000 0000
06A0: 0000 0000 0000 0000 0000 0000 0000 0000
06B0: 0000 0000 0000 0000 0000 0000 0000 0000
06C0: 0000 0000 0000 0000 0000 0000 0000 0000
06D0: 0000 0000 0000 0000 0000 0000 0000 0000
06E0: 0000 0000 0000 0000 0000 0000 0000 0000
06F0: 0000 0000 0000 0000 0000 0000 0000 0000

After:

root@om-gta02:~# cat /sys/devices/platform/glamo3362.0/regs

General

0000: 2020 3650 0002 01ff 0000 0000 0000 0000
0010: 000d 000b 00ee 000f 1082 1000 3000 002f
0020: 1000 0000 3000 1000 0000 0000 0000 0000
0030: 18fd 0010 2000 0003 01ff 0000 0000 0000
0040: 05db 5d0b 09c3 9339 0003 0000 0000 0000
0050: 000f 111e ccc3 111e 000f 0001 070f 020f
0060: 080f 0f0f 0000 0000 0000 0000 0000 0000
0070: 0000 0000 0000 0000 0000 0000 0000 0000
0080: 0000 0000 0000 0000 0000 0000 0000 0000
0090: 0000 0000 0000 0000 0000 0000 0000 0000
00A0: 0000 0000 0000 0000 0000 0000 0000 0000
00B0: 0000 0000 0000 0000 0000 0000 0000 0000
00C0: 0000 0000 0000 0000 0000 0000 0000 0000
00D0: 0000 0000 0000 0000 0000 0000 0000 0000
00E0: 0000 0000 0000 0000 0000 0000 0000 0000
00F0: 0000 0000 0000 0000 0000 0000 0000 0000
0100: 0000 0000 0000 0000 0000 0000 0000 0000
0110: 0000 0000 0000 0000 0000 0000 0000 0000
0120: 0000 0000 0000 0000 0000 0000 0000 0000
0130: 0000 0000 0000 0000 0000 0000 0000 0000
0140: 0000 0000 0000 0000 0000 0000 0000 0000
0150: 0000 0000 0000 0000 0000 0000 0000 0000
0160: 0000 0000 0000 0000 0000 0000 0000 0000
0170: 0000 0000 0000 0000 0000 0000 0000 0000
0180: 0000 0000 0000 0000 0000 0000 0000 0000
0190: 0000 0000 0000 0000 0000 0000 0000 0000
01A0: 0000 0000 0000 0000 0000 0000 0000 0000
01B0: 0000 0000 0000 0000 0000 0000 0000 0000
01C0: 0000 0000 0000 0000 0000 0000 0000 0000
01D0: 0000 0000 0000 0000 0000 0000 0000 0000
01E0: 0000 0000 0000 0000 0000 0000 0000 0000
01F0: 0000 0000 0000 0000 0000 0000 0000 0000

Host Bus

0400: 0ef0 07ff 0000 0080 0344 0600 0000 0000
0410: 0000 0000 4000 f00e 00c0 00c0 00c0 00c0
0420: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0430: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0440: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0450: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0460: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0470: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0480: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
0490: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04A0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04B0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04C0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04D0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04E0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0
04F0: 00c0 00c0 00c0 00c0 00c0 00c0 00c0 00c0

Memory

0600: 0874 afaf 0108 0010 0000 0000 0000 0000
0610: 0000 1002 6006 00ff 0001 0020 0000 0000
0620: 0000 0000 0000 0000 0000 0000 0000 0000
0630: 3210 5432 e100 01d6 0000 0000 0000 0000
0640: 0000 0000 0000 0000 0000 0000 0000 0000
0650: 0000 0000 0000 0000 0000 0000 0000 0000
0660: 0000 0000 0000 0000 0000 0000 0000 0000
0670: 0000 0000 0000 0000 0000 0000 0000 0000
0680: 0000 0000 0000 0000 0000 0000 0000 0000
0690: 0000 0000 0000 0000 0000 0000 0000 0000
06A0: 0000 0000 0000 0000 0000 0000 0000 0000
06B0: 0000 0000 0000 0000 0000 0000 0000 0000
06C0: 0000 0000 0000 0000 0000 0000 0000 0000
06D0: 0000 0000 0000 0000 0000 0000 0000 0000
06E0: 0000 0000 0000 0000 0000 0000 0000 0000
06F0: 0000 0000 0000 0000 0000 0000 0000 0000

comment:3 Changed 11 years ago by roh

  • Owner changed from openmoko-kernel@… to openmoko-kernel

comment:4 Changed 11 years ago by Mercury

This can also be reproduced by switching to one landscape mode, and then to the inverted landscape mode.

comment:5 Changed 10 years ago by john_lee

  • HasPatchForReview unset

Yes I just saw this on my neo with kernel f5b973489beb1a1239dfad53e3ad6e36ff7ee958. xrandr -o 1 then xrandr -o 3 can reproduce.

comment:6 Changed 10 years ago by andy

I believe this was fixed by this patch

http://git.openmoko.org/?p=kernel.git;a=commitdiff;h=8e07543735b1b180ff45993f0e3cc82dad8142ea

It's not seen any more on current (2.6.29) stable or andy-tracking?

comment:7 Changed 10 years ago by marek

  • Cc testing@… added; buglog@… removed
  • Status changed from assigned to in_testing

test case: change to landscape mode (probably xrandr -o 1 / xrandr -o 3), suspend & resume, see screen

comment:8 Changed 10 years ago by andy

This is resolved in andy-tracking HEAD for a couple of weeks I think we find.

comment:9 Changed 10 years ago by wendy_hung

  • Owner changed from openmoko-kernel to andy
  • Status changed from in_testing to assigned

Test with the kernel version:
kernel - 2.6.28-stable+gitr0e5fe639e234cdeb11d8441f19c5b3109a8b6a17-r2 -

Happened with very strange behave:
On GTA02 A5: when change (xrandr -o 1 / xrandr -o 3), put suspend, when resume the screen was broken.
On GTA02 A7: when change (xrandr -o 1 / xrandr -o 3), put suspend, the screen with one red line and can't resume at all.

Try to make a screen shot but the photo look totally differtent then you really see it.
(will try to attach a photo if it's possible)

comment:10 Changed 10 years ago by andy

This has already been fixed in andy-tracking head.

the kernel version you mention is confusing because our stable has never been 2.6.28, it jumped from 2.6.24 to 2.6.29-rc2. So I dunno what it is you are running there really.

I'll backport any missing fixes on to the stable branch later and maybe someone can clarify what the patchlevel of that kernel actually is.

comment:11 Changed 10 years ago by wendy_hung

  • Cc nytowl@… added

for us (the testing team) we download the kernel which Angus told us that one can use. We can see it write "2.6.28" on it so we think it's 2.6.28 version.
For more information i would like to add Angus in cc.

comment:12 Changed 10 years ago by Nytowl

  • Status changed from assigned to in_testing

The kernel version was not stable it was the git version from FSO. The daily build of the stable git kernel is now working properly and the link in the kernel directory now points to stable.

This discussion of this bug hightlights a problem using a link to the "current" kernel. I'll be removing the link so that we know what git version we're dealing with. There will still be the directions that specifies the suggested kernel version for each distro.

Please re-test with the new recommended kernel it will start with "uImage-2.6.28-stable-..."

comment:13 Changed 10 years ago by andy

It sounds like good things are happening, but it is very confusing we call it uImage-2.6.28 when stable is on 2.6.29-rc2.

comment:14 Changed 10 years ago by sushama

Tried with the recommended kernel uImage-2.6.28-stable+gitr0+f19f259d3c1afde8eae53983fd19f61831927413-r2-om-gta02.bin but still does not work as expected. Is there a kernel mismatch??

comment:15 Changed 10 years ago by sushama

  • Status changed from in_testing to assigned
  • Owner changed from andy to Nytowl

comment:16 Changed 10 years ago by Nytowl

  • Owner changed from Nytowl to andy

The version number is an OE trait. Rotating to landscape suspending then resuming results in a garbled display using the stable git version f19f259d3c1afde8eae53983fd19f61831927413.

Can the fix be cherry picked to stable ?

comment:17 Changed 10 years ago by andy

Yes it's fixed in andy-tracking OK but it's one of a set of changes that need backporting. I will see how the land lies overall and either cherrypick them over or just bring stable up to andy-tracking.

comment:18 Changed 10 years ago by wendy_hung

i attached photos in #2255, and that ticket looks like duplicate as this one.

comment:19 Changed 10 years ago by PaulFertser

  • Status changed from assigned to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.