Ticket #2345 (new defect)

Opened 3 years ago

Last modified 3 years ago

all pixels are white after xset dpms force off/on

Reported by: lindi Owned by: openmoko-kernel
Priority: normal Milestone:
Component: kernel Version: unspecified
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: no PatchReviewResult:
Reproducible: always

Description

Steps to reproduce:
1) build linux using
#!/bin/bash
set -x
set -e
rev=$(git log | head -n1|cut -d' ' -f2|cut --bytes=1-32)
buildroot=build-$rev
rm -fr $buildroot
mkdir $buildroot
cp arch/arm/configs/gta02_defconfig $buildroot/.config
make O=$buildroot ARCH=arm silentoldconfig
CROSS_COMPILE=arm-linux-gnueabi- make -j4 O=$buildroot ARCH=arm CONFIG_DEBUG_SECTION_MISMATCH=y EXTRAVERSION=om-gta02-2.6.32-$rev
arm-linux-gnueabi-objcopy -O binary -R .note -R .comment -S $buildroot/arch/arm/boot/compressed/vmlinux $buildroot/linux.bin
mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008000 -n "om-gta02-2.6.32-$rev" -d $buildroot/linux.bin $buildroot/uImage-om-gta02-2.6.32-$rev.bin
mkdir -p $buildroot/staging
make O=$buildroot ARCH=arm modules_install INSTALL_MOD_PATH=staging
cd $buildroot/staging
tar czf ../modules-om-gta02-2.6.32-$rev.tar.gz .
2) boot uImage-om-gta02-2.6.32-a9254be10ac2294ea20165a87c09ea6a.bin
3) start Xorg
4) xset dpms 12 12 12
5) wait 15 seconds
6) xset dpms force on
7) xset dpms force off
8) xset dpms force on

Expected results:
6) display shows useful data
8) display shows useful data

Actual results:
6) all pixels on display appear white
8) all pixels on display appear white

More info:
1) gta02v5

Change History

comment:1 Changed 3 years ago by lindi

After

om screen power 0
om screen power 1

I see useful data again. om does

int om_screen_power_set(int val)
{
        int fd, ret;

        fd = open("/dev/fb0", O_RDWR);
        if (fd < 0) return -1;

        ret = ioctl(fd, FBIOBLANK, val ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN);
        if (ret != 0) return -2;

        return 0;
}

comment:2 Changed 3 years ago by lindi

This does not occur with SHR's

uImage-2.6.32.13-oe3.2+gitr6+a9254be10ac2294ea20165a87c09ea6afcf66d94-r0-om-gta02.bin

so maybe om-gta02-2.6.32 needs some patches from SHR to fix this?

comment:3 Changed 3 years ago by lindi

diff --git a/drivers/video/backlight/jbt6k74.c b/drivers/video/backlight/jbt6k74.c
index 8450904..c7aaf2d 100644
--- a/drivers/video/backlight/jbt6k74.c
+++ b/drivers/video/backlight/jbt6k74.c
@@ -268,6 +268,8 @@ static int jbt_standby_to_sleep(struct jbt_info *jbt)
        gpio_set_value_cansleep(pdata->gpio_reset, 1);
        ret = regulator_bulk_enable(ARRAY_SIZE(jbt->supplies), jbt->supplies);
 
+        msleep(200);
+
        /* three times command zero */
        ret |= jbt_reg_write_nodata(jbt, 0x00);
        mdelay(1);

seems to workaround this bug. I got the idea from Thibaut Girka who recommended

http://git.openembedded.org/cgit.cgi/openembedded/plain/recipes/linux/linux-openmoko-2.6.32/0016-jbt6k74-fix-WS.patch

comment:4 Changed 3 years ago by lindi

It seems that with this patch the screen is white for 200 ms. This is kind of annoying if you are in a dark environment but this is certainly better than not being able to use the display at all.

Note: See TracTickets for help on using tickets.