diff options
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_drv.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_fb.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_object.c | 5 |
3 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h index aec9f1f9c814..70a67862673a 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h | |||
@@ -332,6 +332,7 @@ int qxl_bo_init(struct qxl_device *qdev); | |||
332 | void qxl_bo_fini(struct qxl_device *qdev); | 332 | void qxl_bo_fini(struct qxl_device *qdev); |
333 | 333 | ||
334 | void qxl_reinit_memslots(struct qxl_device *qdev); | 334 | void qxl_reinit_memslots(struct qxl_device *qdev); |
335 | int qxl_surf_evict(struct qxl_device *qdev); | ||
335 | 336 | ||
336 | struct qxl_ring *qxl_ring_create(struct qxl_ring_header *header, | 337 | struct qxl_ring *qxl_ring_create(struct qxl_ring_header *header, |
337 | int element_size, | 338 | int element_size, |
@@ -369,6 +370,7 @@ void qxl_fbdev_fini(struct qxl_device *qdev); | |||
369 | int qxl_get_handle_for_primary_fb(struct qxl_device *qdev, | 370 | int qxl_get_handle_for_primary_fb(struct qxl_device *qdev, |
370 | struct drm_file *file_priv, | 371 | struct drm_file *file_priv, |
371 | uint32_t *handle); | 372 | uint32_t *handle); |
373 | void qxl_fbdev_set_suspend(struct qxl_device *qdev, int state); | ||
372 | 374 | ||
373 | /* qxl_display.c */ | 375 | /* qxl_display.c */ |
374 | int | 376 | int |
@@ -534,6 +536,7 @@ irqreturn_t qxl_irq_handler(DRM_IRQ_ARGS); | |||
534 | 536 | ||
535 | /* qxl_fb.c */ | 537 | /* qxl_fb.c */ |
536 | int qxl_fb_init(struct qxl_device *qdev); | 538 | int qxl_fb_init(struct qxl_device *qdev); |
539 | bool qxl_fbdev_qobj_is_fb(struct qxl_device *qdev, struct qxl_bo *qobj); | ||
537 | 540 | ||
538 | int qxl_debugfs_add_files(struct qxl_device *qdev, | 541 | int qxl_debugfs_add_files(struct qxl_device *qdev, |
539 | struct drm_info_list *files, | 542 | struct drm_info_list *files, |
diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c index c08e12886d6c..76f39d88d684 100644 --- a/drivers/gpu/drm/qxl/qxl_fb.c +++ b/drivers/gpu/drm/qxl/qxl_fb.c | |||
@@ -560,4 +560,14 @@ void qxl_fbdev_fini(struct qxl_device *qdev) | |||
560 | qdev->mode_info.qfbdev = NULL; | 560 | qdev->mode_info.qfbdev = NULL; |
561 | } | 561 | } |
562 | 562 | ||
563 | void qxl_fbdev_set_suspend(struct qxl_device *qdev, int state) | ||
564 | { | ||
565 | fb_set_suspend(qdev->mode_info.qfbdev->helper.fbdev, state); | ||
566 | } | ||
563 | 567 | ||
568 | bool qxl_fbdev_qobj_is_fb(struct qxl_device *qdev, struct qxl_bo *qobj) | ||
569 | { | ||
570 | if (qobj == gem_to_qxl_bo(qdev->mode_info.qfbdev->qfb.obj)) | ||
571 | return true; | ||
572 | return false; | ||
573 | } | ||
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c index d9b12e7bc6e1..62a046e4a036 100644 --- a/drivers/gpu/drm/qxl/qxl_object.c +++ b/drivers/gpu/drm/qxl/qxl_object.c | |||
@@ -363,3 +363,8 @@ int qxl_bo_list_add(struct qxl_reloc_list *reloc_list, struct qxl_bo *bo) | |||
363 | return ret; | 363 | return ret; |
364 | return 0; | 364 | return 0; |
365 | } | 365 | } |
366 | |||
367 | int qxl_surf_evict(struct qxl_device *qdev) | ||
368 | { | ||
369 | return ttm_bo_evict_mm(&qdev->mman.bdev, TTM_PL_PRIV0); | ||
370 | } | ||