Display (MIPI DSI) boot delay on Android

It required about 15s for receiving MDSS_EVENT_RESET and then MIPI DSI will be reset and initialized after getting this event. How could we reduce this timing?

<6>[ 0.328536] mdss_pll_probe: MDSS pll label = MDSS DSI 0 PLL
<3>[ 0.469930] mdss_mdp_probe+0x230/0xce0->msm_dss_ioremap_byname: ‘vbif_nrt_phys’ msm_dss_get_res_byname failed
<4>[ 0.469943] mdss_mdp_parse_dt_hw_settings: MDSS VBIF settings not found
<6>[ 0.469969] mdss_mdp_parse_dt_prop_len: prop qcom,mdss-pipe-cursor-off : doesn’t exist in device tree
<6>[ 0.470018] mdss_mdp_pipe_addr_setup: type:1 ftchid:1 xinid:0 num:0 ndx:0x1 prio:0
<6>[ 0.470031] mdss_mdp_pipe_addr_setup: type:2 ftchid:7 xinid:1 num:3 ndx:0x8 prio:1
<6>[ 0.470038] mdss_mdp_pipe_addr_setup: type:2 ftchid:8 xinid:5 num:4 ndx:0x10 prio:2
<6>[ 0.470051] mdss_mdp_pipe_addr_setup: type:3 ftchid:4 xinid:2 num:6 ndx:0x40 prio:3
<3>[ 0.470068] mdss_mdp_parse_dt_handler: Error from prop qcom,mdss-pipe-sw-reset-off : u32 array read
<3>[ 0.470261] mdss_mdp_parse_dt_handler: Error from prop qcom,mdss-ib-factor-overlap : u32 array read
<3>[ 0.470271] mdss_mdp_parse_dt_handler: Error from prop qcom,mdss-ib-factor-cmd : u32 array read
<6>[ 0.470288] mdss_mdp_parse_dt_prop_len: prop qcom,mdss-clk-levels : doesn’t exist in device tree
<6>[ 0.470318] mdss_mdp_parse_dt_prop_len: prop qcom,mdss-ad-off : doesn’t exist in device tree
<3>[ 0.470852] mdss_mdp_irq_clk_register: unable to get clk: lut_clk
<6>[ 2.453180] mdss_dsi_ctrl_probe: DSI Ctrl name = MDSS DSI CTRL->0
<3>[ 2.453503] mdss_dsi_find_panel_of_node: invalid pan node, selecting prim panel
<3>[ 2.453846] mdss_dsi_parse_dcs_cmds: failed, key=qcom,mdss-dsi-panel-status-command
<6>[ 2.453873] mdss_dsi_parse_panel_features: ulps feature disabled
<6>[ 2.453884] mdss_dsi_parse_panel_features: ulps during suspend feature disabled
<6>[ 2.453892] mdss_dsi_parse_panel_features: dynamic switch feature enabled: 0
<3>[ 2.453908] mdss_dsi_parse_panel_features:1184, Disp_en gpio not specified
<6>[ 2.453933] mdss_dsi_panel_init: Continuous splash disabled
<3>[ 2.454445] dsi_panel_device_register:2246, Disp_en gpio not specified
<3>[ 2.454452] dsi_panel_device_register:2254, TE gpio not specified
<6>[ 2.454458] dsi_panel_device_register: bklt_en gpio not specified
<3>[ 2.454740] mdss_dsi_pll_1_clk_init: can’t find vco_clk. rc=-517
<3>[ 2.454745] PLL 1 Clock’s did not register
<6>[ 2.454782] mdss_dsi_retrieve_ctrl_resources: ctrl_base=ffffff8000816000 ctrl_size=25c phy_base=ffffff8000818500 phy_size=2b0
<3>[ 2.454795] dsi_panel_device_register: Using default BTA for ESD check
<6>[ 2.455661] mdss_register_panel: adding framebuffer device 1a98000.qcom,mdss_dsi
<6>[ 2.456469] mdss_dsi_status_init: DSI status check interval:5000
<6>[ 2.456955] mdss_register_panel: adding framebuffer device qcom,mdss_wb_panel.24
<6>[ 2.458202] mdss_fb_register: FrameBuffer[0] 1080x1920 registered successfully!
<4>[ 2.458262] mdss_mdp_overlay_init: mdss_mdp_overlay_init: unable to add event timer
<6>[ 2.462922] mdss_fb_register: FrameBuffer[1] 1280x720 registered successfully!
<4>[ 2.462978] mdss_mdp_overlay_init: mdss_mdp_overlay_init: unable to add event timer
<3>[ 2.463039] mdss_mdp_splash_parse_dt: splash mem child node is not present
<6>[ 15.345501] mdss_hw_rev_init: MDP Rev=10060000
<3>[ 15.371490] mdss_dsi_event_handler: MDSS_EVENT_RESET recevied

Hi @alanlissl,

I searched around but MDSS_EVENT_RESET is done in kernel and to make it faster I only could think of is to customize the kernel.

I saw this link which describes deeply of optimizing the Android boot time.
http://processors.wiki.ti.com/index.php/Android_Boot_Time_Optimization

I hope this helps your objective.