diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0359-drm-amdgpu-move-the-GDS-switch-into-vm-flush-as-well.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0359-drm-amdgpu-move-the-GDS-switch-into-vm-flush-as-well.patch | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/common/recipes-kernel/linux/files/0359-drm-amdgpu-move-the-GDS-switch-into-vm-flush-as-well.patch b/common/recipes-kernel/linux/files/0359-drm-amdgpu-move-the-GDS-switch-into-vm-flush-as-well.patch deleted file mode 100644 index d72ed0a0..00000000 --- a/common/recipes-kernel/linux/files/0359-drm-amdgpu-move-the-GDS-switch-into-vm-flush-as-well.patch +++ /dev/null @@ -1,100 +0,0 @@ -From c2c4bf56c642027f4ee4322eead0dd71739f826f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Tue, 1 Mar 2016 13:34:49 +0100 -Subject: [PATCH 0359/1110] drm/amdgpu: move the GDS switch into vm flush as - well -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -After all it's an operation on the VMID. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> -Reviewed-by: Chunming Zhou <david1.zhou@amd.com> -Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 ++++-- - drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 11 ++++------- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 18 +++++++++++++----- - 3 files changed, 21 insertions(+), 14 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index b649a8f..394122e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -923,8 +923,10 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, - struct amdgpu_sync *sync, struct fence *fence, - unsigned *vm_id, uint64_t *vm_pd_addr); - void amdgpu_vm_flush(struct amdgpu_ring *ring, -- unsigned vmid, -- uint64_t pd_addr); -+ unsigned vm_id, uint64_t pd_addr, -+ uint32_t gds_base, uint32_t gds_size, -+ uint32_t gws_base, uint32_t gws_size, -+ uint32_t oa_base, uint32_t oa_size); - uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr); - int amdgpu_vm_update_page_directory(struct amdgpu_device *adev, - struct amdgpu_vm *vm); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -index 4d7b80b..4aedfe4 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -@@ -149,13 +149,10 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, - - if (vm) { - /* do context switch */ -- amdgpu_vm_flush(ring, ib->vm_id, ib->vm_pd_addr); -- -- if (ring->funcs->emit_gds_switch) -- amdgpu_ring_emit_gds_switch(ring, ib->vm_id, -- ib->gds_base, ib->gds_size, -- ib->gws_base, ib->gws_size, -- ib->oa_base, ib->oa_size); -+ amdgpu_vm_flush(ring, ib->vm_id, ib->vm_pd_addr, -+ ib->gds_base, ib->gds_size, -+ ib->gws_base, ib->gws_size, -+ ib->oa_base, ib->oa_size); - - if (ring->funcs->emit_hdp_flush) - amdgpu_ring_emit_hdp_flush(ring); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -index 6e23841..3e1c8cf 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -248,19 +248,27 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, - * amdgpu_vm_flush - hardware flush the vm - * - * @ring: ring to use for flush -- * @vmid: vmid number to use -+ * @vm_id: vmid number to use - * @pd_addr: address of the page directory - * - * Emit a VM flush when it is necessary. - */ - void amdgpu_vm_flush(struct amdgpu_ring *ring, -- unsigned vmid, -- uint64_t pd_addr) -+ unsigned vm_id, uint64_t pd_addr, -+ uint32_t gds_base, uint32_t gds_size, -+ uint32_t gws_base, uint32_t gws_size, -+ uint32_t oa_base, uint32_t oa_size) - { - if (pd_addr != AMDGPU_VM_NO_FLUSH) { -- trace_amdgpu_vm_flush(pd_addr, ring->idx, vmid); -- amdgpu_ring_emit_vm_flush(ring, vmid, pd_addr); -+ trace_amdgpu_vm_flush(pd_addr, ring->idx, vm_id); -+ amdgpu_ring_emit_vm_flush(ring, vm_id, pd_addr); - } -+ -+ if (ring->funcs->emit_gds_switch) -+ amdgpu_ring_emit_gds_switch(ring, vm_id, -+ gds_base, gds_size, -+ gws_base, gws_size, -+ oa_base, oa_size); - } - - /** --- -2.7.4 - |