Grazvydas Ignotas
d8907643cc
drm/amdgpu: clear ring pointer in amdgpu_device on teardown
...
This is in symmetry to setup done in amdgpu_ring_init.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-27 13:00:51 -04:00
Junwei Zhang
8640faed5a
drm/amdgpu: free the BO in kernel by helper amdgpu_bo_free_kernel()
...
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:27 -04:00
Christian König
37ac235bf8
drm/amdgpu: use amdgpu_bo_create_kernel in amdgpu_ring.c
...
Saves us quite a bunch of code.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-08-08 11:32:21 -04:00
Christian König
f06505b8d2
drm/amdgpu: add begin/end_use ring callbacks
...
For manual UVD/VCE power and clock gating.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-29 14:37:02 -04:00
Christian König
7c23ace2db
drm/amdgpu: remove fence_lock
...
Was never used as far as I can see.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-29 14:37:01 -04:00
Alex Deucher
33b7ed0122
drm/amdgpu: remove more of the ring backup code
...
Not used anymore.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:19 -04:00
Chunming Zhou
40019dc4a3
drm/amdgpu: clean up ring_backup code, no need more
...
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:18 -04:00
Monk Liu
a909c6bd9f
drm/amdgpu: fix ring debugfs bug
...
debugfs file added but not released after driver unloaded
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 14:51:12 -04:00
Tom St Denis
c71dbd93eb
drm/amd/amdgpu: ring debugfs is read in increments of 4 bytes
...
If a user tries to read a non-multiple of 4 bytes it would have
read until the end of the ring potentially crashing the user
task.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 14:51:11 -04:00
Tom St Denis
4f4824b556
drm/amd/amdgpu: Convert ring debugfs entries to binary
...
They now emit ring data in binary which will be read/written by
the userspace tool umr shortly.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 14:51:10 -04:00
Monk Liu
cc7d8c7979
drm/amdgpu: clear RB at ring init
...
This help fix reloading driver hang issue of SDMA
ring.
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 14:50:37 -04:00
Monk Liu
67a6a504af
drm/amdgpu: fix missing free wb for cond_exec
...
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-06-09 10:49:05 -04:00
Christian König
eb43096900
drm/amdgpu: fix the coding style in amdgpu_ring.c
...
No functional change.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:21:12 -04:00
Christian König
771c8ec177
drm/amdgpu: use the ring name for debugfs (v2)
...
Instead of hard coding just another name in the ring code.
v2: squash in Tom's rebase fix
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:21:03 -04:00
Christian König
a3f1cf355e
drm/amdgpu: use max_dw in ring_init
...
Instead of specifying the total ring size calculate that from the maximum
number of dw a submission can have and the number of concurrent submissions.
This fixes UVD with 8 concurrent submissions or more.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:20:50 -04:00
Nils Wallménius
06ab6832ac
drm/amdgpu: Mark all instances of struct drm_info_list as const
...
All these are compile time constand and the
drm_debugfs_create/remove_files functions take a const
pointer argument.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Nils Wallménius <nils.wallmenius@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:20:10 -04:00
Monk Liu
128cff1af6
drm/amdgpu: support cond exec
...
This adds the groundwork for conditional execution on
SDMA which is necessary for preemption.
Signed-off-by: Monk Liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-02 15:09:17 -04:00
Christian König
e6151a08bb
drm/amdgpu: add number of hardware submissions to amdgpu_fence_driver_init_ring
...
Make this a parameter instead of using the global variable directly.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2016-03-16 17:59:12 -04:00
Christian König
f104fbcb8f
drm/amdgpu: remove amdgpu_ring_from_fence
...
Not used any more.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-03-14 13:43:36 -04:00
Christian König
9e5d53094c
drm/amdgpu: make pad_ib a ring function v3
...
The padding depends on the firmware version and we need that for BO moves as
well, not only for VM updates.
v2: new approach of making pad_ib a ring function
v3: fix typo in macro name
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucer@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-02-10 14:17:20 -05:00
Christian König
c7e6be2303
drm/amdgpu: remove rptr checking
...
With the scheduler enabled we don't need that any more.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-02-10 14:16:59 -05:00
Christian König
a27de35caa
drm/amdgpu: remove the ring lock v2
...
It's not needed any more because all access goes through the scheduler now.
v2: Update commit message.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-02-10 14:16:58 -05:00
Alex Deucher
ea5e4c8731
drm/amdgpu: remove some more semaphore leftovers
...
No longer needed since semaphores were removed.
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <David1.Zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-02-10 14:16:51 -05:00
Christian König
41f2d99056
drm/amdgpu: fix next_rptr handling for debugfs
...
That somehow got lost.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
2016-01-22 14:44:08 -05:00
Christian König
8120b61fdf
drm/amdgpu: move ring_from_fence to common code
...
Going to need that elsewhere as well.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-10-30 01:54:07 -04:00
Christian König
b7e4dad3e1
drm/amdgpu: remove old lockup detection infrastructure
...
It didn't worked to well anyway.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
2015-10-21 11:35:12 -04:00
Alex Deucher
c113ea1c4f
drm/amdgpu: rework sdma structures
...
Rework the sdma structures in the driver to
consolidate all of the sdma info into a single
structure and allow for asics that may have
different numbers of sdma instances.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-10-14 16:16:36 -04:00
Christian König
4f839a243d
drm/amdgpu: more scheduler cleanups v2
...
Embed the scheduler into the ring structure instead of allocating it.
Use the ring name directly instead of the id.
v2: rebased, whitespace cleanup
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Chunming Zhou<david1.zhou@amd.com >
2015-09-23 17:23:39 -04:00
Christian König
5ec92a7692
drm/amdgpu: cleanup fence queue init v2
...
Move the fence related stuff into amdgpu_fence.c
v2: rework commit message, cause this is actually not a bug
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou<david1.zhou@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
2015-09-23 17:23:38 -04:00
Christian König
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
Jammy Zhou
edff0e2826
drm/amdgpu: add insert_nop ring func and default implementation
...
The insert_nop function is added to amdgpu_ring_funcs structure as
well as the default implementation
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:24:43 -04:00
monk.liu
7f06c236b9
drm/amdgpu: move wait_queue_head from adev to ring (v2)
...
thus unnecessary wake up could be avoid between rings
v2:
move wait_queue_head to fence_drv from ring
Signed-off-by: monk.liu <monk.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
2015-08-17 16:50:48 -04:00
Chunming Zhou
176e1ab1b5
drm/amdgpu: protect fence_process from multiple context
...
fence_process may be called from kthread, user thread and interrupt context.
it is possible to called concurrently, then will wake up fence queue multiple times.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-17 16:50:38 -04:00
Alex Deucher
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