mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
lvds: reduced lvds resume time.
This commit is contained in:
@@ -757,8 +757,15 @@ int rk616_display_router_cfg(struct mfd_rk616 *rk616,rk_screen *screen,bool enab
|
||||
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;
|
||||
|
||||
@@ -61,7 +61,6 @@ static int rk616_lvds_cfg(struct mfd_rk616 *rk616,rk_screen *screen)
|
||||
ret = rk616->write_dev(rk616,CRU_LVDS_CON0,&val);
|
||||
|
||||
rk616_dbg(rk616->dev,"rk616 use single lvds channel.......\n");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -132,7 +131,9 @@ static void rk616_lvds_late_resume(struct early_suspend *h)
|
||||
{
|
||||
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
|
||||
|
||||
@@ -281,6 +281,7 @@ struct mfd_rk616 {
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user