int mcu_usetimer;
int mcu_stopflush;
+ int setFlag;
/* external memery */
char __iomem *screen_base2;
__u32 smem_len2;
if(initscreen == 0) //not init
{
clk_disable(inf->dclk);
- clk_disable(inf->aclk);
+ // clk_disable(inf->aclk);
}
- clk_disable(inf->aclk_ddr_lcdc);
- clk_disable(inf->aclk_disp_matrix);
- clk_disable(inf->hclk_cpu_display);
+ // clk_disable(inf->aclk_ddr_lcdc);
+ // clk_disable(inf->aclk_disp_matrix);
+ // clk_disable(inf->hclk_cpu_display);
- clk_disable(inf->clk);
+ // clk_disable(inf->clk);
ret = clk_set_parent(inf->aclk, inf->aclk_parent);
fbprintk(">>>>>> set lcdc dclk need %d HZ, clk_parent = %d hz ret =%d\n ", screen->pixclock, screen->lcdc_aclk, ret);
printk(KERN_ERR ">>>>>> set lcdc aclk failed\n");
}
- clk_enable(inf->aclk_ddr_lcdc);
- clk_enable(inf->aclk_disp_matrix);
- clk_enable(inf->hclk_cpu_display);
-
- clk_enable(inf->aclk);
- clk_enable(inf->clk);
+ // clk_enable(inf->aclk_ddr_lcdc);
+ // clk_enable(inf->aclk_disp_matrix);
+ // clk_enable(inf->hclk_cpu_display);
+ if(initscreen)
+ clk_enable(inf->aclk);
+ // clk_enable(inf->clk);
clk_enable(inf->dclk);
// init screen panel
fbprintk(">>>>>> %s : %s\n", __FILE__, __FUNCTION__);
+ inf->setFlag = 0;
CHK_SUSPEND(inf);
if(inf->fb0_color_deepth)var->bits_per_pixel=inf->fb0_color_deepth;
par->ysize = screen->y_res;
win0_set_par(info);
}
-
+ inf->setFlag = 1;
return 0;
}
struct fb_var_screeninfo *var0 = &info->var;
fbprintk(">>>>>> %s : %s \n", __FILE__, __FUNCTION__);
-
+ if(inf->setFlag == 0)
+ {
+ wait_event_interruptible_timeout(wq, inf->setFlag, HZ*10);
+ }
if(par->refcount) {
par->refcount--;
inf->video_mode = 0;