if(ret < 0)
return ret;
ret = rk616_router_cfg(rk616);
- ret = rk616_vif_cfg(rk616,hdmi_screen,0);
- ret = rk616_vif_cfg(rk616,hdmi_screen,1);
+
+ /*
+ If wake up, does not execute the rk616_vif_cfg can save 50ms time
+ */
+ if(rk616->resume != 1){
+ ret = rk616_vif_cfg(rk616,hdmi_screen,0);
+ ret = rk616_vif_cfg(rk616,hdmi_screen,1);
+ }
+
ret = rk616_scaler_cfg(rk616,screen);
ret = rk616_dither_cfg(rk616,screen,enable);
return 0;
ret = rk616->write_dev(rk616,CRU_LVDS_CON0,&val);
rk616_dbg(rk616->dev,"rk616 use single lvds channel.......\n");
-
}
}
{
struct rk616_lvds *lvds = container_of(h, struct rk616_lvds,early_suspend);
struct mfd_rk616 *rk616 = lvds->rk616;
- rk616_lvds_init_cfg(rk616,lvds->screen);
+ rk616->resume = 1;
+ rk616_lvds_init_cfg(rk616,lvds->screen);
+ rk616->resume = 0;
}
#endif
struct clk *mclk;
u64 pll0_rate;
u64 pll1_rate;
+ unsigned int resume;
struct dentry *debugfs_dir;
int (*read_dev)(struct mfd_rk616 *rk616,u16 reg,u32 *pval);
int (*write_dev)(struct mfd_rk616 *rk616,u16 reg,u32 *pval);