Hi,
I am setting up a 480x800 MIPI DSI command mode panel in ICS (3.0.8 kernel) on the PandaBoard ES using the Taal driver (panel-taal.c). The panel is now basically working fine. However, I am seeing issues with the ICS display sometimes not being updated properly. It seems like the DSI subsystem is sometimes a few steps short when updating the display. There are no similar issues when using either a parallel RGB display or an HDMI display.
For examples, if you go into an app like Settings, the display will stop updating before its menu items are displayed. In other words, the Settings app is displayed with a blank content. In this case, if you just press and release at the top of the display (the Action Bar area), the Settings app will then finish updating the display of its menu items. Also, sometimes when the back button is pressed, part (or all) of the display will still show the previous screen. Again, if you then just press and release the Action Bar area, the display will then finish updating.
A section of the DSS debug log for updating the display is given below. Are there any particular areas that I should look at in the DSI subsystem to resolve this? Thank you.
[ 459.036621] omapdss OVERLAY: check_overlay 0: (0,0 480x800 -> 480x800) disp (480x800)
[ 459.045928] omapdss MANAGER: omap_dss_mgr_apply(lcd)
[ 459.051727] omapdss OVERLAY: check_overlay 0: (0,0 480x800 -> 480x800) disp (480x800)
[ 459.060791] omapdss MANAGER: dispc_setup_partial_planes 0,0 480x800
[ 459.067779] omapdss MANAGER: configure_overlay(0)
[ 459.073181] omapdss DISPC: dispc_setup_plane 0, pa 7e000000, sw 480, 0,0, 480/1x800/1 -> 480p
[ 459.087158] omapdss DISPC: calc_rot(0): scrw 480, 480x800
[ 459.093261] omapdss DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[ 459.100280] omapdss DISPC: 0,0 480*1x800*1 -> 480x800
[ 459.106048] omapdss DISPC: fifo(0) low/high old 784/1279, new 784/1279
[ 459.113189] omapdss DISPC: dispc_enable_plane 0, 1
[ 459.118652] omapdss MANAGER: configure_overlay(1)
[ 459.123840] omapdss DISPC: dispc_enable_plane 1, 0
[ 459.129119] omapdss MANAGER: configure_overlay(2)
[ 459.134460] omapdss DISPC: dispc_enable_plane 2, 0
[ 459.139770] omapdss MANAGER: configure_overlay(3)
[ 459.145111] omapdss DISPC: dispc_enable_plane 3, 0
[ 459.150421] omapdss MANAGER: configure_manager(0)
[ 459.155700] omapdss DSI: dsi_vc_config_l4(0)
[ 459.160644] omapdss DSI: dsi_vc_enable channel 0, enable 0
[ 459.166961] omapdss DSI: dsi_vc_enable channel 0, enable 1
[ 459.173583] omapdss DSI: dsi_update_screen_dispc(0,0 480x800)
[ 459.180267] omapdss DSI: dsi_vc_config_vp(0)
[ 459.180664] omapdss DSI: dsi_vc_enable channel 0, enable 0
[ 459.191406] omapdss DSI: dsi_vc_enable channel 0, enable 1
Scott