diff options
author | Dave Airlie <airlied@redhat.com> | 2016-05-06 00:17:22 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-05-06 00:17:22 -0400 |
commit | a64424d722504926f3375bc4887976e3bfe3a01d (patch) | |
tree | abf5419151be98a8520e30b1ae7935127a678796 /drivers/gpu/drm/qxl | |
parent | 0552f7651bc233e5407ab06ba97a9d7c25e19580 (diff) | |
parent | 84fae133f0ccc974a425eee21101f5644bd8d14d (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.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_object.h | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_ttm.c | 2 |
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 | ||
389 | int qxl_ttm_init(struct qxl_device *qdev) | 391 | int qxl_ttm_init(struct qxl_device *qdev) |