diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2009-03-06 21:25:25 +0000 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2009-03-06 21:25:25 +0000 |
commit | 2f1c2dc3a1a3e5de38d444f6502b37d974c2aa47 (patch) | |
tree | f61bb5794685d3994dd13b35036aa9c405ea91b4 /target/linux/s3c24xx/patches-2.6.28 | |
parent | f8509356a24a1c855cfaaa433bc459e65010c806 (diff) | |
download | upstream-2f1c2dc3a1a3e5de38d444f6502b37d974c2aa47.tar.gz upstream-2f1c2dc3a1a3e5de38d444f6502b37d974c2aa47.tar.bz2 upstream-2f1c2dc3a1a3e5de38d444f6502b37d974c2aa47.zip |
Switch back to the previous set resolution when unblanking the screen.
SVN-Revision: 14768
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.28')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.28/010-preserve-resolution.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.28/010-preserve-resolution.patch b/target/linux/s3c24xx/patches-2.6.28/010-preserve-resolution.patch new file mode 100644 index 0000000000..6beff0d7bb --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.28/010-preserve-resolution.patch @@ -0,0 +1,48 @@ +diff --git a/drivers/video/display/jbt6k74.c b/drivers/video/display/jbt6k74.c +index a1d48dd..2ca1bd4 100644 +--- a/drivers/video/display/jbt6k74.c ++++ b/drivers/video/display/jbt6k74.c +@@ -443,8 +443,17 @@ int jbt6k74_enter_state(struct jbt_info *jbt, enum jbt_state new_state) + break; + } + +- if (rc == 0) ++ if (rc == 0) { ++ switch (new_state) { ++ case JBT_STATE_NORMAL: ++ case JBT_STATE_QVGA_NORMAL: ++ jbt->last_state = new_state; ++ break; ++ default: ++ break; ++ } + jbt->state = new_state; ++ } + + return rc; + } +@@ -595,7 +604,14 @@ static int fb_notifier_callback(struct notifier_block *self, + switch (fb_blank) { + case FB_BLANK_UNBLANK: + dev_info(&jbt->spi_dev->dev, "**** jbt6k74 unblank\n"); +- jbt6k74_enter_state(jbt, JBT_STATE_NORMAL); ++ switch (jbt->last_state) { ++ case JBT_STATE_QVGA_NORMAL: ++ jbt6k74_enter_state(jbt, JBT_STATE_QVGA_NORMAL); ++ break; ++ default: ++ jbt6k74_enter_state(jbt, JBT_STATE_NORMAL); ++ break; ++ } + break; + case FB_BLANK_NORMAL: + dev_info(&jbt->spi_dev->dev, "**** jbt6k74 normal\n"); +@@ -720,8 +736,6 @@ static int jbt_suspend(struct spi_device *spi, pm_message_t state) + { + struct jbt_info *jbt = dev_get_drvdata(&spi->dev); + +- /* Save mode for resume */ +- jbt->last_state = jbt->state; + /* FIXME: deep standby causes WSOD on certain devices. We use + * sleep as workaround */ + jbt6k74_enter_state(jbt, JBT_STATE_SLEEP); |