aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Rui <ray.huang@amd.com>2020-02-11 18:26:07 +0800
committerHuang Rui <ray.huang@amd.com>2020-02-12 19:55:09 +0800
commitcf9eb78a89ccfe0a13f9d36d80604c731d5c18d2 (patch)
tree3d37bff6f9c116ba0dc717053d0d794760715fab
parentfca0849af3bf0682d75d0a11e52e76592c5f42ef (diff)
downloadexternal_libdrm-cf9eb78a89ccfe0a13f9d36d80604c731d5c18d2.tar.gz
external_libdrm-cf9eb78a89ccfe0a13f9d36d80604c731d5c18d2.tar.bz2
external_libdrm-cf9eb78a89ccfe0a13f9d36d80604c731d5c18d2.zip
amdgpu: use amdgpu_cs_submit_raw2 in amdgpu_cs_submit
So far, amdgpu_cs_submit_raw2 is mainly used for upper layer (Mesa), however, amdgpu_cs_submit is used for current all unit tests. Our intention is that the unit tests can actually verify the API which is really used. Signed-off-by: Huang Rui <ray.huang@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r--amdgpu/amdgpu_cs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/amdgpu/amdgpu_cs.c b/amdgpu/amdgpu_cs.c
index aaa1f7b1..864a76a9 100644
--- a/amdgpu/amdgpu_cs.c
+++ b/amdgpu/amdgpu_cs.c
@@ -226,9 +226,11 @@ static int amdgpu_cs_submit_one(amdgpu_context_handle context,
struct drm_amdgpu_cs_chunk_data *chunk_data;
struct drm_amdgpu_cs_chunk_dep *dependencies = NULL;
struct drm_amdgpu_cs_chunk_dep *sem_dependencies = NULL;
+ amdgpu_device_handle dev = context->dev;
struct list_head *sem_list;
amdgpu_semaphore_handle sem, tmp;
uint32_t i, size, sem_count = 0;
+ uint64_t seq_no;
bool user_fence;
int r = 0;
@@ -354,12 +356,12 @@ static int amdgpu_cs_submit_one(amdgpu_context_handle context,
chunks[i].chunk_data = (uint64_t)(uintptr_t)sem_dependencies;
}
- r = drmCommandWriteRead(context->dev->fd, DRM_AMDGPU_CS,
- &cs, sizeof(cs));
+ r = amdgpu_cs_submit_raw2(dev, context, cs.in.bo_list_handle, cs.in.num_chunks,
+ chunks, &seq_no);
if (r)
goto error_unlock;
- ibs_request->seq_no = cs.out.handle;
+ ibs_request->seq_no = seq_no;
context->last_seq[ibs_request->ip_type][ibs_request->ip_instance][ibs_request->ring] = ibs_request->seq_no;
error_unlock:
pthread_mutex_unlock(&context->sequence_mutex);