48f87dd146
Merge commit '06d1ee32a4d25356a710b49d5e95dbdd68bdf505' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next
...
Backmerge the drm-fixes pull from Linus's tree into drm-next.
This is to fix some conflicts and make future pulls cleaner
2015-10-16 10:25:28 +10:00
d6c10f6b81
drm/amdgpu: add VM CS mapping trace point
...
Output all VM mappings a command submission uses.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-10-14 16:16:41 -04:00
39ff8449c5
drm/amdgpu: also trace already allocated VMIDs
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-10-14 16:16:38 -04:00
7a574557e6
drm/amdgpu: fix memory leak in amdgpu_vm_update_page_directory
...
If amdgpu_ib_get() fails we returned the error code but we missed
freeing ib.
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Jammy Zhou <Jammy.Zhou@amd.com >
Cc: Chunming Zhou <david1.zhou@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "monk.liu" <monk.liu@amd.com >
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-10-08 12:18:23 -04:00
4c7eb91cae
drm/amdgpu: refine the job naming for amdgpu_job and amdgpu_sched_job
...
Use consistent naming across functions.
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: David Zhou <david1.zhou@amd.com >
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
2015-09-23 17:23:36 -04:00
bf60efd353
drm/amdgpu: use only one reservation object for each VM v2
...
Reduces the locking and fencing overhead.
v2: add comment why we need the duplicates list in the GEM op.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-09-23 17:23:35 -04:00
72d7668b5b
drm/amdgpu: export reservation_object from dmabuf to ttm (v2)
...
Adds an extra argument to amdgpu_bo_create, which is only used in amdgpu_prime.c.
Port of radeon commit 831b6966a6
.
v2: fix up kfd.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-23 17:23:34 -04:00
b7d698d7fd
drm/amdgpu: fix overflow on 32bit systems
...
mem->start is a long, so this can overflow on 32bit systems.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Cc: stable@vger.kernel.org
2015-09-23 17:23:33 -04:00
857d913d05
drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
...
For kernel driver BOs, be explicit about whether we need
vram access up front. This avoids unecessary migrations and
avoids using visible vram for buffers were it's not needed.
v2: line wrap fixes
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-03 10:29:32 -04:00
a60c42320b
drm/amdgpu: use PT for VM sync on unmap
...
Instead of the array which is used for ID management.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-09-02 12:19:54 -04:00
c7ae72c01b
drm/amdgpu: use IB for copy buffer of eviction
...
This aids handling buffers moves with the scheduler.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-26 17:50:42 -04:00
3c62338c26
drm/amdgpu: fix last_vm_update fence is not effetive for sched fence
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:53:05 -04:00
bb977d3711
drm/amdgpu: abstract amdgpu_job for scheduler
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-20 17:00:35 -04:00
05906dec7d
drm/amdgpu: wait on page directory changes. v2
...
Pagetables can be moved and therefore the page directory update can be necessary
for the current cs even if none of the the bo's are moved. In that scenario
there is no fence between the sdma0 and gfx ring, so we add one.
v2 (chk): rebased
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-17 16:51:23 -04:00
6d1d0ef743
drm/amdgpu: fix duplicated mapping invoke bug
...
fix the bug that there is duplicated bo_update_mapping issued
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
2015-08-17 16:51:20 -04:00
281b422301
drm/amdgpu: add reference for **fence
...
fix fence is released when pass to **fence sometimes.
add reference for it.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-17 16:51:17 -04:00
4af9f07ccd
drm/amdgpu: use kernel submit helper in vm
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-17 16:51:07 -04:00
91404fb208
drm/amdgpu: merge amd_sched_entity and amd_context_entity v2
...
Avoiding a couple of casts.
v2: rename c_entity to entity as well
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-17 16:51:05 -04:00
80de5913cf
Revert "drm/amdgpu: return new seq_no for amd_sched_push_job"
...
This reverts commit d1d33da8eb86b8ca41dd9ed95738030df5267b95.
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
Conflicts:
drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
2015-08-17 16:51:02 -04:00
47f38501f1
drm/amdgpu: cleanup amdgpu_ctx inti/fini v2
...
Cleanup the kernel context handling.
v2: rebased
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com > (v1)
2015-08-17 16:51:02 -04:00
ea199cc9f8
drm/amdgpu: return new seq_no for amd_sched_push_job
...
It is clean to update last_queued_v_seq in the scheduler module
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-17 16:50:56 -04:00
bb1e38a4be
drm/amdgpu: use kernel fence for last_pt_update
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com >
2015-08-17 16:50:51 -04:00
e40a31159b
drm/amdgpu: use kernel fence diretly in amdgpu_bo_fence
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com >
2015-08-17 16:50:50 -04:00
7fc1195901
drm/amdgpu: stop using addr to check for BO move v3
...
It is theoretically possible that a swapped out BO gets the
same GTT address, but different backing pages while being swapped in.
Instead just use another VA state to note updated areas.
Ported from not upstream yet radeon commit with the same name.
v2: fix some bugs in the original implementation found in the radeon code.
v3: squash in VCE/UVD fix
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-17 16:50:49 -04:00
d1ff9086c1
drm/amdgpu: fix seq in ctx_add_fence
...
if enabling scheduler, then the queued seq is assigned
when pushing job before emitting job.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-17 16:50:43 -04:00
51b9db27d0
drm/amdgpu: wait forever for wait emit
...
the job must be emitted by scheduler, otherwise scheduler is abnormal.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-17 16:50:42 -04:00
d5fc5e82a3
drm/amdgpu: dispatch job for vm
...
use kernel context to submit command for vm
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Acked-by: Christian K?nig <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-17 16:50:37 -04:00
7f8a5290f5
drm/amdgpu: rework vm_grab_id interface
...
This makes assigning VM IDs independent from the use of VM IDs.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-17 16:50:16 -04:00
fc8fa5e428
drm/amdgpu: no updates shouldn't cause vm flush v2
...
v2 (chk): split fix from original patch
Signed-off-by: monk.liu <monk.liu@amd.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-17 16:50:16 -04:00
91e1a5207e
drm/amdgpu: deal with foreign fences in amdgpu_sync
...
This also requires some error handling from the callers of that function.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-17 16:50:13 -04:00
93e3e4385b
drm/amdgpu: add BO map/unmap trace point
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <aleander.deucher@amd.com >
2015-06-29 11:21:43 -04:00
6c7fc503a4
drm/amdgpu: fix saddr handling in amdgpu_vm_bo_unmap
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-06-08 21:42:52 -04:00
7e9fca0baa
drm/amdgpu: fix amdgpu_vm_bo_map
...
We need to reset the bo_va address, otherwise new mappings
wouldn't be updated in the page table.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-06-08 21:42:51 -04:00
aeb0aeac2e
drm/amdgpu: fence should be added to shared slot
...
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: jammy zhou <jammy.zhou@amd.com >
2015-06-03 21:03:55 -04:00
cfe2c97807
drm/amdgpu: sync fence of clear_invalids (v2)
...
bo_va may un-initialized, fix it.
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com >
2015-06-03 21:03:54 -04:00
3d5a08c114
drm/amdgpu: max_pde_used usage should be under protect
...
Need to take the lock when accessing this.
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com >
2015-06-03 21:03:53 -04:00
ca95261325
drm/amdgpu: fix bug of vm_bo_map (v2)
...
call reservation_object_reserve_shared before amdgpu_bo_fence
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com >
2015-06-03 21:03:53 -04:00
0be52de91c
drm/amdgpu: validate amdgpu_vm_bo_map parameters
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-06-03 21:03:43 -04:00
d38ceaf99e
drm/amdgpu: add core driver (v4)
...
This adds the non-asic specific core driver code.
v2: remove extra kconfig option
v3: implement minor fixes from Fengguang Wu
v4: fix cast in amdgpu_ucode.c
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Jammy Zhou <Jammy.Zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-06-03 21:03:15 -04:00