u8 idx, reg1, reg2, reg3, reg4; u32 ret = 0; 
u8 idx, reg1, reg2, reg3, reg4; u32 ret = 0; 
sisfb_setupvbblankflags(struct sis_video_info *ivideo, u32 *vcount, u32 *hcount){   u8 idx, reg1, reg2, reg3, reg4;   u32 ret = 0;   (*vcount) = (*hcount) = 0;   if((ivideo->currentvbflags & VB_DISPTYPE_DISP2) && (!(sisfb_bridgeisslave(ivideo)))) {      ret |= (FB_VBLANK_HAVE_VSYNC  |      	      FB_VBLANK_HAVE_HBLANK |              FB_VBLANK_HAVE_VBLANK |	      FB_VBLANK_HAVE_VCOUNT |	      FB_VBLANK_HAVE_HCOUNT);      switch(ivideo->sisvga_engine) {         case SIS_300_VGA: idx = 0x25; break;	 default:         case SIS_315_VGA: idx = 0x30; break;      }      inSISIDXREG(SISPART1,(idx+0),reg1); /* 30 */      inSISIDXREG(SISPART1,(idx+1),reg2); /* 31 */      inSISIDXREG(SISPART1,(idx+2),reg3); /* 32 */      inSISIDXREG(SISPART1,(idx+3),reg4); /* 33 */      if(reg1 & 0x01) ret |= FB_VBLANK_VBLANKING;      if(reg1 & 0x02) ret |= FB_VBLANK_VSYNCING;      if(reg4 & 0x80) ret |= FB_VBLANK_HBLANKING;      (*vcount) = reg3 | ((reg4 & 0x70) << 4);      (*hcount) = reg2 | ((reg4 & 0x0f) << 8);   } else if(sisfballowretracecrt1(ivideo)) {      ret |= (FB_VBLANK_HAVE_VSYNC  |              FB_VBLANK_HAVE_VBLANK |	      FB_VBLANK_HAVE_VCOUNT |	      FB_VBLANK_HAVE_HCOUNT);      reg1 = inSISREG(SISINPSTAT);      if(reg1 & 0x08) ret |= FB_VBLANK_VSYNCING;      if(reg1 & 0x01) ret |= FB_VBLANK_VBLANKING;      inSISIDXREG(SISCR,0x20,reg1);      inSISIDXREG(SISCR,0x1b,reg1);      inSISIDXREG(SISCR,0x1c,reg2);      inSISIDXREG(SISCR,0x1d,reg3);      (*vcount) = reg2 | ((reg3 & 0x07) << 8);      (*hcount) = (reg1 | ((reg3 & 0x10) << 4)) << 3;   }   return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/sis_main.c/clean/drivers/video/sis/sis_main.c