p->vrows = info->var.yres_virtual/fh; if (info->var.yres > (fh * (vc->vc_rows + 1))) p->vrows -= (info->var.yres - (fh * vc->vc_rows)) / fh; if ((info->var.yres % fh) && (info->var.yres_virtual % fh < info->var.yres % fh)) 
p->vrows = vyres/fh; if (yres > (fh * (vc->vc_rows + 1))) p->vrows -= (yres - (fh * vc->vc_rows)) / fh; if ((yres % fh) && (vyres % fh < yres % fh)) 
static __inline__ void updatescrollmode(struct display *p, struct fb_info *info,					struct vc_data *vc){	int fh = vc->vc_font.height;	int cap = info->flags;	int good_pan = (cap & FBINFO_HWACCEL_YPAN)		 && divides(info->fix.ypanstep, vc->vc_font.height)		 && info->var.yres_virtual > info->var.yres;	int good_wrap = (cap & FBINFO_HWACCEL_YWRAP)		 && divides(info->fix.ywrapstep, vc->vc_font.height)		 && divides(vc->vc_font.height, info->var.yres_virtual);	int reading_fast = cap & FBINFO_READS_FAST;	int fast_copyarea = (cap & FBINFO_HWACCEL_COPYAREA) && !(cap & FBINFO_HWACCEL_DISABLED);	int fast_imageblit = (cap & FBINFO_HWACCEL_IMAGEBLIT) && !(cap & FBINFO_HWACCEL_DISABLED);	p->vrows = info->var.yres_virtual/fh;	if (info->var.yres > (fh * (vc->vc_rows + 1)))		p->vrows -= (info->var.yres - (fh * vc->vc_rows)) / fh;	if ((info->var.yres % fh) && (info->var.yres_virtual % fh <				      info->var.yres % fh))		p->vrows--;	if (good_wrap || good_pan) {		if (reading_fast || fast_copyarea)			p->scrollmode = good_wrap ? SCROLL_WRAP_MOVE : SCROLL_PAN_MOVE;		else			p->scrollmode = good_wrap ? SCROLL_REDRAW :				SCROLL_PAN_REDRAW;	} else {		if (reading_fast || (fast_copyarea && !fast_imageblit))			p->scrollmode = SCROLL_MOVE;		else			p->scrollmode = SCROLL_REDRAW;	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e4fc27618b75234b721c4a13d0e0d9d07e75e641/fbcon.c/clean/drivers/video/console/fbcon.c