diff options
Diffstat (limited to 'drivers/video/riva/fbdev.c')
-rw-r--r-- | drivers/video/riva/fbdev.c | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c index dd7b2cc88825..6c19ab6afb01 100644 --- a/drivers/video/riva/fbdev.c +++ b/drivers/video/riva/fbdev.c | |||
@@ -1209,32 +1209,8 @@ static int rivafb_pan_display(struct fb_var_screeninfo *var, | |||
1209 | unsigned int base; | 1209 | unsigned int base; |
1210 | 1210 | ||
1211 | NVTRACE_ENTER(); | 1211 | NVTRACE_ENTER(); |
1212 | if (var->xoffset > (var->xres_virtual - var->xres)) | ||
1213 | return -EINVAL; | ||
1214 | if (var->yoffset > (var->yres_virtual - var->yres)) | ||
1215 | return -EINVAL; | ||
1216 | |||
1217 | if (var->vmode & FB_VMODE_YWRAP) { | ||
1218 | if (var->yoffset < 0 | ||
1219 | || var->yoffset >= info->var.yres_virtual | ||
1220 | || var->xoffset) return -EINVAL; | ||
1221 | } else { | ||
1222 | if (var->xoffset + info->var.xres > info->var.xres_virtual || | ||
1223 | var->yoffset + info->var.yres > info->var.yres_virtual) | ||
1224 | return -EINVAL; | ||
1225 | } | ||
1226 | |||
1227 | base = var->yoffset * info->fix.line_length + var->xoffset; | 1212 | base = var->yoffset * info->fix.line_length + var->xoffset; |
1228 | |||
1229 | par->riva.SetStartAddress(&par->riva, base); | 1213 | par->riva.SetStartAddress(&par->riva, base); |
1230 | |||
1231 | info->var.xoffset = var->xoffset; | ||
1232 | info->var.yoffset = var->yoffset; | ||
1233 | |||
1234 | if (var->vmode & FB_VMODE_YWRAP) | ||
1235 | info->var.vmode |= FB_VMODE_YWRAP; | ||
1236 | else | ||
1237 | info->var.vmode &= ~FB_VMODE_YWRAP; | ||
1238 | NVTRACE_LEAVE(); | 1214 | NVTRACE_LEAVE(); |
1239 | return 0; | 1215 | return 0; |
1240 | } | 1216 | } |