- 21 11月, 2015 1 次提交
-
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <David1.Zhou@amd.com> Reviewed-by: NChristian König <christian.koenig@amd.com>
-
- 19 11月, 2015 1 次提交
-
-
由 Christian König 提交于
Unify the two code path again, cause they do pretty much the same thing. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <davdi1.zhou@amd.com> Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com>
-
- 17 11月, 2015 5 次提交
-
-
由 Christian König 提交于
We need to clear parser.ibs and num_ibs before amd_sched_fence_create, otherwise the IB could be freed twice if fence creates fails. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Christian König 提交于
Before this patch the scheduler fence was created when we push the job into the queue, so we could only get the fence after pushing it. The mutex now was necessary to prevent the thread pushing the jobs to the hardware from running faster than the thread pushing the jobs into the queue. Otherwise the thread pushing jobs into the queue would have accessed possible freed up memory when it tries to get a reference to the fence. So what you get in the end is thread A: mutex_lock(&job->lock); ... Kick of thread B. ... mutex_unlock(&job->lock); And thread B: mutex_lock(&job->lock); .... mutex_unlock(&job->lock); kfree(job); I'm actually not sure if I'm still up to date on this, but this usage pattern used to be not allowed with mutexes. See here as well https://lwn.net/Articles/575460/. v2: remove unrelated changes, fix missing owner v3: rebased, add more commit message Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Chunming Zhou 提交于
OGL needs these tracepoints to investigate performance issue. Change-Id: I5e58187d061253f7d665dfce8e4e163ba91d3e2b Signed-off-by: NChunming Zhou <David1.Zhou@amd.com>
-
由 Christian König 提交于
No need any more to allocate that structure dynamically, just put it on the stack. This is a start to cleanup some of the scheduler fallouts. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Christian König 提交于
Fixing a memory leak when the scheduler is enabled. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 05 11月, 2015 1 次提交
-
-
由 Dan Carpenter 提交于
We recently changed the locking in this function and now there is a missing unlock on error. Also there are some other resources that we should probably release as well... Fixes: f48b2659 ('drm/amdgpu: fix the broken vm->mutex V2') Reviewed-by: NChristian König <christian.koenig@amd.com> Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
-
- 21 10月, 2015 2 次提交
-
-
由 Chunming Zhou 提交于
fix the vm->mutex and ww_mutex confilcts. vm->mutex is always token first, then ww_mutex. V2: remove unneccessary checking for pt bo. Change-Id: Iea56e183752c02831126d06d2f5b7a474a6e4743 Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian König <christian.koenig@amd.com>
-
由 Christian König 提交于
Finally getting rid of it. Signed-off-by: NChristian König <christian.koenig@amd.com>
-
- 15 10月, 2015 2 次提交
-
-
由 Christian König 提交于
This makes it much easier to find when userspace misses to send some buffers. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Alex Deucher 提交于
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: NChristian König <christian.koenig@amd.com> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 07 10月, 2015 1 次提交
-
-
由 Arnd Bergmann 提交于
The new amdgpu driver passes a user space pointer in a 64-bit structure member, which is the correct way to do it, but it attempts to directly cast it to a __user pointer in the kernel, which causes a warning in three places: drm/amd/amdgpu/amdgpu_cs.c: In function 'amdgpu_cs_parser_init': drm/amd/amdgpu/amdgpu_cs.c:180:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] chunk_array_user = (uint64_t __user *)(cs->in.chunks); This changes all three to add an intermediate cast to 'unsigned long' as other drivers do. This avoids the warning and works correctly on both 32-bit and 64-bit architectures. Fixes: e60b344f ("drm/amdgpu: optimize amdgpu_parser_init") Reviewed-by: NChristian König <christian.koenig@amd.com> Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 30 9月, 2015 1 次提交
-
-
由 Dan Carpenter 提交于
The "i" variable should be signed or it leads to a crash in the error handling code. Fixes: 1d263474 ('drm/amdgpu: unwind properly in amdgpu_cs_parser_init()') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 24 9月, 2015 6 次提交
-
-
由 Dan Carpenter 提交于
The amdgpu_cs_parser_init() function doesn't clean up after itself but instead the caller uses a free everything function amdgpu_cs_parser_fini() on failure. This style of error handling is often buggy. In this example, we call "drm_free_large(parser->chunks[i].kdata);" when it is an unintialized pointer or when "parser->chunks" is NULL. I fixed this bug by adding unwind code so that it frees everything that it allocates. I also mode some other very minor changes: 1) Renamed "r" to "ret". 2) Moved the chunk_array allocation to the start of the function. 3) Removed some initializers which are no longer needed. Reviewed-by: NChristian König <christian.koenig@amd.com> Reported-by: NIlja Van Sprundel <ivansprundel@ioactive.com> Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Christian König 提交于
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: NChristian König <christian.koenig@amd.com> Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Chunming Zhou<david1.zhou@amd.com>
-
由 Christian König 提交于
Just to be consistent with the other members. v2: rename the ring member as well. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> (v1) Reviewed-by: Chunming Zhou<david1.zhou@amd.com>
-
由 Junwei Zhang 提交于
Use container_of rather than casting. Reviewed-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDavid Zhou <david1.zhou@amd.com> Signed-off-by: NJunwei Zhang <Jerry.Zhang@amd.com>
-
由 Junwei Zhang 提交于
Use consistent naming across functions. Reviewed-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDavid Zhou <david1.zhou@amd.com> Signed-off-by: NJunwei Zhang <Jerry.Zhang@amd.com>
-
由 Christian König 提交于
This allows for multiple BOs to have the same reservation object. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NJammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 04 9月, 2015 1 次提交
-
-
由 Christian König 提交于
Some buffers (UVD/VM page tables) must be placed in VRAM, but the byte restriction for moving buffers didn't took this into account. Port of radeon commit 4b095566. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com> Reviewed-by: NJammy Zhou <Jammy.Zhou@amd.com>
-
- 25 8月, 2015 5 次提交
-
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Christian König 提交于
Calling schedule() is probably the worse things we can do. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Christian König 提交于
Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Christian König 提交于
Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Christian König 提交于
Simply not used any more. Only keep 32bit atomic for fence sequence numbering. v2: trivial rebase Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> (v1) Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1)
-
- 21 8月, 2015 6 次提交
-
-
由 Christian König 提交于
Stop double freeing the the BO list by pulling the content of amdgpu_cs_parser_prepare_job() into the IOCTL function again. v2: better commit message Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1) Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Christian König 提交于
The problem now is that we don't necessarily call amdgpu_ib_get() in some error paths and so work with uninitialized data. Better require that the memory is already zeroed. v2: better commit message Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1) Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
- 18 8月, 2015 8 次提交
-
-
由 Bas Nieuwenhuizen 提交于
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: NBas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
-
由 Chunming Zhou 提交于
Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 monk.liu 提交于
bo_list_clone() will take a lot of time when bo_list hold too much elements, like above 7000 Signed-off-by: NMonk.Liu <monk.liu@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NJammy Zhou <jammy.zhou@amd.com>
-
由 Chunming Zhou 提交于
fix fence is released when pass to **fence sometimes. add reference for it. Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Chunming Zhou 提交于
scheduler fence is based on kernel fence framework. v2: squash in Christian's build fix Signed-off-by: NChunming Zhou <david1.zhou@amd.com> Reviewed-by: NChristian K?nig <christian.koenig@amd.com>
-
由 Christian König 提交于
Avoiding a couple of casts. v2: rename c_entity to entity as well Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Christian König 提交于
Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NAlex Deucher <alexander.deucher@amd.com> Reviewed-by: NChunming Zhou <david1.zhou@amd.com>
-
由 Chunming Zhou 提交于
This reverts commit d1d33da8eb86b8ca41dd9ed95738030df5267b95. Reviewed-by: NChristian K?nig <christian.koenig@amd.com> Conflicts: drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
-