|
@@ -1209,11 +1209,14 @@ int drm_fb_helper_check_var(struct fb_var_screeninfo *var,
|
|
|
if (var->pixclock != 0 || in_dbg_master())
|
|
|
return -EINVAL;
|
|
|
|
|
|
- /* Need to resize the fb object !!! */
|
|
|
- if (var->bits_per_pixel > fb->bits_per_pixel ||
|
|
|
- var->xres > fb->width || var->yres > fb->height ||
|
|
|
- var->xres_virtual > fb->width || var->yres_virtual > fb->height) {
|
|
|
- DRM_DEBUG("fb userspace requested width/height/bpp is greater than current fb "
|
|
|
+ /*
|
|
|
+ * Changes struct fb_var_screeninfo are currently not pushed back
|
|
|
+ * to KMS, hence fail if different settings are requested.
|
|
|
+ */
|
|
|
+ if (var->bits_per_pixel != fb->bits_per_pixel ||
|
|
|
+ var->xres != fb->width || var->yres != fb->height ||
|
|
|
+ var->xres_virtual != fb->width || var->yres_virtual != fb->height) {
|
|
|
+ DRM_DEBUG("fb userspace requested width/height/bpp different than current fb "
|
|
|
"request %dx%d-%d (virtual %dx%d) > %dx%d-%d\n",
|
|
|
var->xres, var->yres, var->bits_per_pixel,
|
|
|
var->xres_virtual, var->yres_virtual,
|