sisfb_syncaccel(ivideo); 
void fbcon_sis_fillrect(struct fb_info *info, const struct fb_fillrect *rect){   struct sis_video_info *ivideo = (struct sis_video_info *)info->par;   u32 col = 0;   u32 vxres = info->var.xres_virtual;   u32 vyres = info->var.yres_virtual;   int width, height;   CRITFLAGS   if(info->state != FBINFO_STATE_RUNNING) {	return;   }   if(!ivideo->accel) {	cfb_fillrect(info, rect);	return;   }      if(!rect->width || !rect->height || rect->dx >= vxres || rect->dy >= vyres) {	return;   }   /* Clipping */   width = ((rect->dx + rect->width) > vxres) ? (vxres - rect->dx) : rect->width;   height = ((rect->dy + rect->height) > vyres) ? (vyres - rect->dy) : rect->height;   switch(info->var.bits_per_pixel) {	case 8:  col = rect->color;		 break;	case 16:	case 32: col = ((u32 *)(info->pseudo_palette))[rect->color];		 break;   }   if(ivideo->sisvga_engine == SIS_300_VGA) {#ifdef CONFIG_FB_SIS_300      CRITBEGIN      SiS300SetupForSolidFill(ivideo, col, myrops[rect->rop]);      SiS300SubsequentSolidFillRect(ivideo, rect->dx, rect->dy, width, height);      CRITEND      SiS300Sync(ivideo);#endif   } else {#ifdef CONFIG_FB_SIS_315      CRITBEGIN      SiS310SetupForSolidFill(ivideo, col, myrops[rect->rop]);      SiS310SubsequentSolidFillRect(ivideo, rect->dx, rect->dy, width, height);      CRITEND      SiS310Sync(ivideo);#endif   }}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/sis_accel.c/buggy/drivers/video/sis/sis_accel.c