|
@@ -254,10 +254,12 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
|
|
req->value = dev->mode_config.async_page_flip;
|
|
req->value = dev->mode_config.async_page_flip;
|
|
break;
|
|
break;
|
|
case DRM_CAP_PAGE_FLIP_TARGET:
|
|
case DRM_CAP_PAGE_FLIP_TARGET:
|
|
- req->value = 1;
|
|
|
|
- drm_for_each_crtc(crtc, dev) {
|
|
|
|
- if (!crtc->funcs->page_flip_target)
|
|
|
|
- req->value = 0;
|
|
|
|
|
|
+ if (drm_core_check_feature(dev, DRIVER_MODESET)) {
|
|
|
|
+ req->value = 1;
|
|
|
|
+ drm_for_each_crtc(crtc, dev) {
|
|
|
|
+ if (!crtc->funcs->page_flip_target)
|
|
|
|
+ req->value = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case DRM_CAP_CURSOR_WIDTH:
|
|
case DRM_CAP_CURSOR_WIDTH:
|