fix:优化并发清除logo的逻辑
This commit is contained in:
parent
fcd69741aa
commit
a10ff1b209
|
@ -2079,17 +2079,17 @@ static int sunxi_fb_ioctl(struct fb_info *info, unsigned int cmd,
|
|||
{
|
||||
#if defined(CONFIG_ION_SUNXI)
|
||||
unsigned long flags;
|
||||
spin_lock_irqsave(&(logo_timer_info.logo_lock), flags);
|
||||
if(logo_timer_info.init_flag == TIMER_START)
|
||||
{
|
||||
spin_lock_irqsave(&(logo_timer_info.logo_lock), flags);
|
||||
del_timer(&(logo_timer_info.timer));
|
||||
flush_pic(H_LOGO_START_POS_X, H_LOGO_START_POS_Y, H_LOGO_WIDTH_PIX, H_LOGO_HEIGH_PIX, (int *)fb_dst, H_logo, 0);
|
||||
flush_pic(A_LOGO_START_POS_X, A_LOGO_START_POS_Y, A_LOGO_WIDTH_PIX, A_LOGO_HEIGH_PIX, (int *)fb_dst, A_logo, 0);
|
||||
flush_pic(S_LOGO_START_POS_X, S_LOGO_START_POS_Y, S_LOGO_WIDTH_PIX, S_LOGO_HEIGH_PIX, (int *)fb_dst, S_logo, 0);
|
||||
disp_ion_flush_cache((void *)pic_info.vaddr, pic_info.size);
|
||||
logo_timer_info.init_flag = TIMER_STOP;
|
||||
spin_unlock_irqrestore(&(logo_timer_info.logo_lock), flags);
|
||||
}
|
||||
spin_unlock_irqrestore(&(logo_timer_info.logo_lock), flags);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue