diff options
author | Thomas White <taw@bitwiz.org.uk> | 2009-07-06 19:06:22 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2009-07-06 19:06:22 +0100 |
commit | 1bc42a6756626c744217ba1a3f488445d69df745 (patch) | |
tree | 0737b1e00d2cb7cb3d7381d2c7916ce775147bb1 /drivers/mfd/glamo | |
parent | 791916962183d648d71f9b45125fa656696084fd (diff) |
Fix resume, part 1
This seems to fix the kernel-level suspend/resume. There remains a problem
which causes Xorg to crash on resume.
Signed-off-by: Thomas White <taw@bitwiz.org.uk>
Diffstat (limited to 'drivers/mfd/glamo')
-rw-r--r-- | drivers/mfd/glamo/glamo-display.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/mfd/glamo/glamo-display.c b/drivers/mfd/glamo/glamo-display.c index a5be9236b66..ceffb18331c 100644 --- a/drivers/mfd/glamo/glamo-display.c +++ b/drivers/mfd/glamo/glamo-display.c @@ -865,16 +865,28 @@ void glamo_display_resume(struct glamodrm_handle *gdrm) glamo_run_lcd_script(gdrm, lcd_init_script, ARRAY_SIZE(lcd_init_script)); + /* Enable pixel clock */ + glamo_engine_clkreg_set(gdrm->glamo_core, + GLAMO_ENGINE_LCD, + GLAMO_CLOCK_LCD_EN_DCLK, + GLAMO_CLOCK_LCD_EN_DCLK); + /* Restore timings */ glamo_lcd_cmd_mode(gdrm, 1); glamo_engine_reclock(gdrm->glamo_core, GLAMO_ENGINE_LCD, gdrm->saved_clock); + reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_WIDTH, GLAMO_LCD_WIDTH_MASK, + gdrm->saved_width); + reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_HEIGHT, GLAMO_LCD_HEIGHT_MASK, + gdrm->saved_height); + reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_PITCH, GLAMO_LCD_PITCH_MASK, + gdrm->saved_pitch); reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_HORIZ_TOTAL, GLAMO_LCD_HV_TOTAL_MASK, gdrm->saved_htotal); reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_HORIZ_RETR_START, - GLAMO_LCD_HV_RETR_START_MASK, gdrm->saved_vrtrst); + GLAMO_LCD_HV_RETR_START_MASK, gdrm->saved_hrtrst); reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_HORIZ_RETR_END, - GLAMO_LCD_HV_RETR_END_MASK, gdrm->saved_vrtren); + GLAMO_LCD_HV_RETR_END_MASK, gdrm->saved_hrtren); reg_set_bit_mask_lcd(gdrm, GLAMO_REG_LCD_HORIZ_DISP_START, GLAMO_LCD_HV_RETR_DISP_START_MASK, gdrm->saved_hdspst); |