1. 15 Jun, 2010 1 commit
    • Janusz Krzysztofik's avatar
      OMAPFB: LCDC: change update_mode to DISABLED when going suspend · 256a8042
      Janusz Krzysztofik authored
      I was observing the following error messages on my OMAP1 based Amstrad Delta
      board when first changing from text to graphics mode or vice versa after the
      LCD display had been blanked:
      	omapfb omapfb: timeout waiting for FRAME DONE
      with a followup error message while unblanking it back:
      	omapfb omapfb: resetting (status 0xffffffb2,reset count 1)
      As a visible result, image pixels happened to be shifted by a few bits,
      giving wrong colors.
      
      Examining the code, I found that this problem occures when an OMAP1 internal
      LCD controller is disabled from omap_lcdc_suspend() and then a subsequent
      omap_lcdc_setup_plane() calls disable_controller() again. This potentially
      error provoking behaviour is triggered by the lcdc.update_mode flag being kept
      at OMAP_AUTO_UPDATE, regardless of the controller and panel being suspended.
      
      This patch tries to correct the problem by replacing both omap_lcdc_suspend()
      and omap_lcdc_resume() function bodies with single calls to
      omap_lcdc_set_update_mode() with a respective OMAP_UPDATE_DISABLE or
      OMAP_AUTO_UPDATE argument. As a result, exactly the same lower level
      operations are performed, with addition of changing the lcdc.update_mode flag
      to a value better suited for the controller state. This prevents any further
      calls to disable_controller() from omap_lcdc_setup_plane() while the display
      is suspended.
      
      Created against linux-2.6.34-rc7.
      Tested on Amstrad Delta.
      Signed-off-by: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
      256a8042
  2. 30 May, 2010 26 commits
  3. 29 May, 2010 13 commits