[maemo-developers] N770 tearsync problems
From: Frantisek Dufka dufkaf at seznam.czDate: Mon May 7 10:31:40 EEST 2007
- Previous message: doorman for scirocco
- Next message: CIA.vc tracking broken
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello, last week I tried to backport tearsync support from n800 kernel source to latest 2.6.16 released for n770. The result compiles fine and boots on device and works great until one actually tries to use the tearsync feature. It doesn't work correctly. First framebuffer update with tearsync flag hangs. All the tearsync setup and enable code for hwa742 and sossi seems to be called but in the end the update hangs waiting for sossi interrupt that never comes. 'cat /proc/interrupts | grep sossi' has zero for sossi_match interrupt. 51: 0 sossi_match So my questions are: Does the hardware support it? I have one of the first developer devices (hw build 1602), is it possible that tearsync pins between epson chip and sossi are simply not connected? Kernel source suggests that it is always connected (unlike some other features that are conditionally checked at runtime). If it is connected do I need to enable the interrupt line or something else except acquiring the interrupt in sossi.c? The backport was not simple copy/paste since the omapfb code changed a lot (more planes, support for fb in sram) and even sossi.c and hwa742.c had some changes. First I did line by line merge to get only the code that looked related to tearsync (files sossi.c, hwa742.c omapfb_main.c and some headers to have missing definitions). Later I also tried to do more changes so in the end the hwa742.c and sossi.c are exact copies of those files in n800 tree but there is no change and it still doesn't work (i.e hangs possibly waiting for interrupt). I also tried to compile 2.6.18 source with abandoned kernel patch for hacker edition and also current omap git source. Both compile and boot fine (i.e display works) but the initfs is confused and does not even start dsme and then reboots. This is also mentioned in http://maemo.org/community/wiki/Os2007HackerEditionArchives "linuxrc from old OS2006 initfs starts, but gets confused because of different kernel and reboots. This was expected behaviour" So before trying to make my own root filesystem for verifying newer kernels I'd like to know whether there is any chance this tearsync code will actually work. Or is there any other gotcha in 2.6.16? Maybe the interrupt code is different between 2.6.16 and 2.6.18? I had to replace include linux/irq.h for linux/interrupt.h since irq.h in 2.6.16 had some errors and other code (mmc driver) included linux/interrupt.h. Thanks for any tips. Frantisek
- Previous message: doorman for scirocco
- Next message: CIA.vc tracking broken
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]