diff options
author | Dave Airlie <airlied@redhat.com> | 2017-10-19 20:47:19 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-10-19 20:47:19 -0400 |
commit | 6585d4274b0baf1d09318539c4a726a96b51af34 (patch) | |
tree | 179aacc9409db45966595893ae4842104b314442 /drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | |
parent | 40d86701a625eed9e644281b9af228d6a52d8ed9 (diff) | |
parent | 96687ec0bb478088cb6941a7dca3bb6808a19313 (diff) |
Merge branch 'drm-next-4.15' of git://people.freedesktop.org/~agd5f/linux into drm-next
Last set of features for 4.15. Highlights:
- Add a bo flag to allow buffers to opt out of implicit sync
- Add ctx priority setting interface
- Lots more powerplay cleanups
- Start to plumb through vram lost infrastructure for gpu reset
- ttm support for huge pages
- misc cleanups and bug fixes
* 'drm-next-4.15' of git://people.freedesktop.org/~agd5f/linux: (73 commits)
drm/amd/powerplay: Place the constant on the right side of the test
drm/amd/powerplay: Remove useless variable
drm/amd/powerplay: Don't cast kzalloc() return value
drm/amdgpu: allow GTT overcommit during bind
drm/amdgpu: linear validate first then bind to GART
drm/amd/pp: Fix overflow when setup decf/pix/disp dpm table.
drm/amd/pp: thermal control not enabled on vega10.
drm/amdgpu: busywait KIQ register accessing (v4)
drm/amdgpu: report more amdgpu_fence_info
drm/amdgpu:don't check soft_reset for sriov
drm/amdgpu:fix duplicated setting job's vram_lost
drm/amdgpu:reduce wb to 512 slot
drm/amdgpu: fix regresstion on SR-IOV gpu reset failed
drm/amd/powerplay: Tidy up cz_dpm_powerup_vce()
drm/amd/powerplay: Tidy up cz_dpm_powerdown_vce()
drm/amd/powerplay: Tidy up cz_dpm_update_vce_dpm()
drm/amd/powerplay: Tidy up cz_dpm_update_uvd_dpm()
drm/amd/powerplay: Tidy up cz_dpm_powerup_uvd()
drm/amd/powerplay: Tidy up cz_dpm_powerdown_uvd()
drm/amd/powerplay: Tidy up cz_start_dpm()
...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c index c586f44312f9..a4bf21f8f1c1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | |||
@@ -169,14 +169,14 @@ int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync, | |||
169 | * | 169 | * |
170 | * @sync: sync object to add fences from reservation object to | 170 | * @sync: sync object to add fences from reservation object to |
171 | * @resv: reservation object with embedded fence | 171 | * @resv: reservation object with embedded fence |
172 | * @shared: true if we should only sync to the exclusive fence | 172 | * @explicit_sync: true if we should only sync to the exclusive fence |
173 | * | 173 | * |
174 | * Sync to the fence | 174 | * Sync to the fence |
175 | */ | 175 | */ |
176 | int amdgpu_sync_resv(struct amdgpu_device *adev, | 176 | int amdgpu_sync_resv(struct amdgpu_device *adev, |
177 | struct amdgpu_sync *sync, | 177 | struct amdgpu_sync *sync, |
178 | struct reservation_object *resv, | 178 | struct reservation_object *resv, |
179 | void *owner) | 179 | void *owner, bool explicit_sync) |
180 | { | 180 | { |
181 | struct reservation_object_list *flist; | 181 | struct reservation_object_list *flist; |
182 | struct dma_fence *f; | 182 | struct dma_fence *f; |
@@ -191,6 +191,9 @@ int amdgpu_sync_resv(struct amdgpu_device *adev, | |||
191 | f = reservation_object_get_excl(resv); | 191 | f = reservation_object_get_excl(resv); |
192 | r = amdgpu_sync_fence(adev, sync, f); | 192 | r = amdgpu_sync_fence(adev, sync, f); |
193 | 193 | ||
194 | if (explicit_sync) | ||
195 | return r; | ||
196 | |||
194 | flist = reservation_object_get_list(resv); | 197 | flist = reservation_object_get_list(resv); |
195 | if (!flist || r) | 198 | if (!flist || r) |
196 | return r; | 199 | return r; |