amdgpu: fix an error of bo_list handler

original method is just totally wrong, it loses the bo_list handler at
all after command stream accomplished

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>
main
monk.liu 2015-04-27 10:25:54 +08:00 committed by Alex Deucher
parent cc01c3cb5a
commit 83d9369583
1 changed files with 4 additions and 2 deletions

View File

@ -707,6 +707,7 @@ static int amdgpu_cs_submit_one(amdgpu_device_handle dev,
uint64_t *chunk_array; uint64_t *chunk_array;
struct drm_amdgpu_cs_chunk *chunks; struct drm_amdgpu_cs_chunk *chunks;
struct drm_amdgpu_cs_chunk_data *chunk_data; struct drm_amdgpu_cs_chunk_data *chunk_data;
uint32_t bo_list_handle;
if (ibs_request->ip_type >= AMDGPU_HW_IP_NUM) if (ibs_request->ip_type >= AMDGPU_HW_IP_NUM)
return -EINVAL; return -EINVAL;
@ -754,10 +755,11 @@ static int amdgpu_cs_submit_one(amdgpu_device_handle dev,
} }
r = amdgpu_cs_create_bo_list(dev, context, ibs_request, NULL, r = amdgpu_cs_create_bo_list(dev, context, ibs_request, NULL,
&cs.in.bo_list_handle); &bo_list_handle);
if (r) if (r)
goto error_unlock; goto error_unlock;
cs.in.bo_list_handle = bo_list_handle;
pthread_mutex_lock(&context->sequence_mutex); pthread_mutex_lock(&context->sequence_mutex);
if (ibs_request->ip_type != AMDGPU_HW_IP_UVD && if (ibs_request->ip_type != AMDGPU_HW_IP_UVD &&
@ -805,7 +807,7 @@ static int amdgpu_cs_submit_one(amdgpu_device_handle dev,
pthread_mutex_unlock(&context->sequence_mutex); pthread_mutex_unlock(&context->sequence_mutex);
r = amdgpu_cs_free_bo_list(dev, cs.in.bo_list_handle); r = amdgpu_cs_free_bo_list(dev, bo_list_handle);
if (r) if (r)
goto error_free; goto error_free;