aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-03-07 19:51:51 -0500
committerDave Airlie <airlied@redhat.com>2016-03-07 19:51:51 -0500
commit550e3b23a53c88adfa46e64f9d442743e65d47da (patch)
treef6a345184c325130473485457763836b72249cbb /drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
parent984fee64355bf5384319e2ef31f0b03273629799 (diff)
parent6157bd7a1009c2a6944fb3eee8ed2b3dea091fd8 (diff)
Merge branch 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux into drm-next
Some more radeon and amdgpu stuff for drm-next. Mostly just bug fixes for new features and cleanups. * 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: fix rb bitmap & cu bitmap calculation drm/amdgpu: trace the pd_addr in vm_grab_id as well drm/amdgpu: fix VM faults caused by vm_grab_id() v4 drm/amdgpu: update radeon acpi header drm/radeon: update radeon acpi header drm/amd: cleanup get_mfd_cell_dev() drm/amdgpu: fix error handling in amdgpu_bo_list_set drm/amd/powerplay: fix code style warning. drm/amd: Do not make DRM_AMD_ACP default to y drm/amdgpu/gfx: fix off by one in rb rework (v2)
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index b5bdd5d59b58..db14a7bbb8f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -75,6 +75,7 @@ int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm,
75 } 75 }
76 76
77 ib->vm = vm; 77 ib->vm = vm;
78 ib->vm_id = 0;
78 79
79 return 0; 80 return 0;
80} 81}
@@ -139,7 +140,7 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
139 return -EINVAL; 140 return -EINVAL;
140 } 141 }
141 142
142 if (vm && !ibs->grabbed_vmid) { 143 if (vm && !ibs->vm_id) {
143 dev_err(adev->dev, "VM IB without ID\n"); 144 dev_err(adev->dev, "VM IB without ID\n");
144 return -EINVAL; 145 return -EINVAL;
145 } 146 }
@@ -152,10 +153,10 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
152 153
153 if (vm) { 154 if (vm) {
154 /* do context switch */ 155 /* do context switch */
155 amdgpu_vm_flush(ring, vm, last_vm_update); 156 amdgpu_vm_flush(ring, ib->vm_id, ib->vm_pd_addr);
156 157
157 if (ring->funcs->emit_gds_switch) 158 if (ring->funcs->emit_gds_switch)
158 amdgpu_ring_emit_gds_switch(ring, ib->vm->ids[ring->idx].id, 159 amdgpu_ring_emit_gds_switch(ring, ib->vm_id,
159 ib->gds_base, ib->gds_size, 160 ib->gds_base, ib->gds_size,
160 ib->gws_base, ib->gws_size, 161 ib->gws_base, ib->gws_size,
161 ib->oa_base, ib->oa_size); 162 ib->oa_base, ib->oa_size);