return timeout;
}
-static int amdgpu_ioctl_wait_cs(amdgpu_device_handle dev,
+static int amdgpu_ioctl_wait_cs(amdgpu_context_handle context,
unsigned ip,
unsigned ip_instance,
uint32_t ring,
uint64_t timeout_ns,
bool *busy)
{
+ amdgpu_device_handle dev = context->dev;
union drm_amdgpu_wait_cs args;
int r;
args.in.ip_instance = ip_instance;
args.in.ring = ring;
args.in.timeout = amdgpu_cs_calculate_timeout(timeout_ns);
+ args.in.ctx_id = context->id;
/* Handle errors manually here because of timeout */
r = ioctl(dev->fd, DRM_IOCTL_AMDGPU_WAIT_CS, &args);
pthread_mutex_unlock(&context->sequence_mutex);
- r = amdgpu_ioctl_wait_cs(context->dev, ip_type, ip_instance, ring,
+ r = amdgpu_ioctl_wait_cs(context, ip_type, ip_instance, ring,
fence->fence, fence->timeout_ns, &busy);
if (!r && !busy) {
*expired = true;