aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/qxl
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-05-06 00:17:22 -0400
committerDave Airlie <airlied@redhat.com>2016-05-06 00:17:22 -0400
commita64424d722504926f3375bc4887976e3bfe3a01d (patch)
treeabf5419151be98a8520e30b1ae7935127a678796 /drivers/gpu/drm/qxl
parent0552f7651bc233e5407ab06ba97a9d7c25e19580 (diff)
parent84fae133f0ccc974a425eee21101f5644bd8d14d (diff)
Merge branch 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-next
This is the first big radeon/amdgpu pull request for 4.7. Highlights: - Polaris support in amdgpu Current display stack on par with other asics, for advanced features DAL is required Power management support Support for GFX, Compute, SDMA, UVD, VCE - VCE and UVD init/fini cleanup in radeon - GPUVM improvements - Scheduler improvements - Clockgating improvements - Powerplay improvements - TTM changes to support driver specific LRU update mechanism - Radeon support for new Mesa features - ASYNC pageflip support for radeon - Lots of bug fixes and code cleanups * 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux: (180 commits) drm/amdgpu: Replace rcu_assign_pointer() with RCU_INIT_POINTER() drm/amdgpu: use drm_mode_vrefresh() rather than mode->vrefresh drm/amdgpu/uvd6: add bypass support for fiji (v3) drm/amdgpu/fiji: set UVD CG state when enabling UVD DPM (v2) drm/powerplay: add missing clockgating callback for tonga drm/amdgpu: Constify some tables drm/amd/powerplay: Delete dead struct declaration drm/amd/powerplay/hwmgr: don't add invalid voltage drm/amd/powerplay/hwmgr: prevent VDDC from exceeding 2V MAINTAINERS: Remove unneded wildcard for the Radeon/AMDGPU drivers drm/radeon: add cayman VM support for append packet. drm/amd/amdgpu: Add debugfs entries for smc/didt/pcie drm/amd/amdgpu: Drop print_status callbacks. drm/amd/powerplay: revise reading/writing pptable on Polaris10 drm/amd/powerplay: revise reading/writing pptable on Tonga drm/amd/powerplay: revise reading/writing pptable on Fiji drm/amd/powerplay: revise caching the soft pptable and add it's size drm/amd/powerplay: add dpm force multiple levels on cz/tonga/fiji/polaris (v2) drm/amd/powerplay: fix fan speed percent setting error on Polaris10 drm/amd/powerplay: fix bug dpm can't work when resume back on Polaris ...
Diffstat (limited to 'drivers/gpu/drm/qxl')
-rw-r--r--drivers/gpu/drm/qxl/qxl_cmd.c2
-rw-r--r--drivers/gpu/drm/qxl/qxl_object.h6
-rw-r--r--drivers/gpu/drm/qxl/qxl_ttm.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
index fdc1833b1af8..b5d4b41361bd 100644
--- a/drivers/gpu/drm/qxl/qxl_cmd.c
+++ b/drivers/gpu/drm/qxl/qxl_cmd.c
@@ -624,7 +624,7 @@ static int qxl_reap_surf(struct qxl_device *qdev, struct qxl_bo *surf, bool stal
624 if (stall) 624 if (stall)
625 mutex_unlock(&qdev->surf_evict_mutex); 625 mutex_unlock(&qdev->surf_evict_mutex);
626 626
627 ret = ttm_bo_wait(&surf->tbo, true, true, !stall); 627 ret = ttm_bo_wait(&surf->tbo, true, !stall);
628 628
629 if (stall) 629 if (stall)
630 mutex_lock(&qdev->surf_evict_mutex); 630 mutex_lock(&qdev->surf_evict_mutex);
diff --git a/drivers/gpu/drm/qxl/qxl_object.h b/drivers/gpu/drm/qxl/qxl_object.h
index 37af1bc0dd00..4d8311373ba3 100644
--- a/drivers/gpu/drm/qxl/qxl_object.h
+++ b/drivers/gpu/drm/qxl/qxl_object.h
@@ -31,7 +31,7 @@ static inline int qxl_bo_reserve(struct qxl_bo *bo, bool no_wait)
31{ 31{
32 int r; 32 int r;
33 33
34 r = ttm_bo_reserve(&bo->tbo, true, no_wait, false, NULL); 34 r = ttm_bo_reserve(&bo->tbo, true, no_wait, NULL);
35 if (unlikely(r != 0)) { 35 if (unlikely(r != 0)) {
36 if (r != -ERESTARTSYS) { 36 if (r != -ERESTARTSYS) {
37 struct qxl_device *qdev = (struct qxl_device *)bo->gem_base.dev->dev_private; 37 struct qxl_device *qdev = (struct qxl_device *)bo->gem_base.dev->dev_private;
@@ -67,7 +67,7 @@ static inline int qxl_bo_wait(struct qxl_bo *bo, u32 *mem_type,
67{ 67{
68 int r; 68 int r;
69 69
70 r = ttm_bo_reserve(&bo->tbo, true, no_wait, false, NULL); 70 r = ttm_bo_reserve(&bo->tbo, true, no_wait, NULL);
71 if (unlikely(r != 0)) { 71 if (unlikely(r != 0)) {
72 if (r != -ERESTARTSYS) { 72 if (r != -ERESTARTSYS) {
73 struct qxl_device *qdev = (struct qxl_device *)bo->gem_base.dev->dev_private; 73 struct qxl_device *qdev = (struct qxl_device *)bo->gem_base.dev->dev_private;
@@ -79,7 +79,7 @@ static inline int qxl_bo_wait(struct qxl_bo *bo, u32 *mem_type,
79 if (mem_type) 79 if (mem_type)
80 *mem_type = bo->tbo.mem.mem_type; 80 *mem_type = bo->tbo.mem.mem_type;
81 81
82 r = ttm_bo_wait(&bo->tbo, true, true, no_wait); 82 r = ttm_bo_wait(&bo->tbo, true, no_wait);
83 ttm_bo_unreserve(&bo->tbo); 83 ttm_bo_unreserve(&bo->tbo);
84 return r; 84 return r;
85} 85}
diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index 953412766416..0738d74c8d04 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -384,6 +384,8 @@ static struct ttm_bo_driver qxl_bo_driver = {
384 .io_mem_reserve = &qxl_ttm_io_mem_reserve, 384 .io_mem_reserve = &qxl_ttm_io_mem_reserve,
385 .io_mem_free = &qxl_ttm_io_mem_free, 385 .io_mem_free = &qxl_ttm_io_mem_free,
386 .move_notify = &qxl_bo_move_notify, 386 .move_notify = &qxl_bo_move_notify,
387 .lru_tail = &ttm_bo_default_lru_tail,
388 .swap_lru_tail = &ttm_bo_default_swap_lru_tail,
387}; 389};
388 390
389int qxl_ttm_init(struct qxl_device *qdev) 391int qxl_ttm_init(struct qxl_device *qdev)