diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/ioctl_channel.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/ioctl_channel.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_channel.c b/drivers/gpu/nvgpu/os/linux/ioctl_channel.c index d243c425..22177171 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_channel.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_channel.c | |||
@@ -590,6 +590,9 @@ static u32 nvgpu_setup_bind_user_flags_to_common_flags(u32 user_flags) | |||
590 | if (user_flags & NVGPU_CHANNEL_SETUP_BIND_FLAGS_REPLAYABLE_FAULTS_ENABLE) | 590 | if (user_flags & NVGPU_CHANNEL_SETUP_BIND_FLAGS_REPLAYABLE_FAULTS_ENABLE) |
591 | flags |= NVGPU_SETUP_BIND_FLAGS_REPLAYABLE_FAULTS_ENABLE; | 591 | flags |= NVGPU_SETUP_BIND_FLAGS_REPLAYABLE_FAULTS_ENABLE; |
592 | 592 | ||
593 | if (user_flags & NVGPU_CHANNEL_SETUP_BIND_FLAGS_USERMODE_SUPPORT) | ||
594 | flags |= NVGPU_SETUP_BIND_FLAGS_USERMODE_SUPPORT; | ||
595 | |||
593 | return flags; | 596 | return flags; |
594 | } | 597 | } |
595 | 598 | ||
@@ -601,6 +604,14 @@ static void nvgpu_get_setup_bind_args( | |||
601 | channel_setup_bind_args->num_gpfifo_entries; | 604 | channel_setup_bind_args->num_gpfifo_entries; |
602 | setup_bind_args->num_inflight_jobs = | 605 | setup_bind_args->num_inflight_jobs = |
603 | channel_setup_bind_args->num_inflight_jobs; | 606 | channel_setup_bind_args->num_inflight_jobs; |
607 | setup_bind_args->userd_dmabuf_fd = | ||
608 | channel_setup_bind_args->userd_dmabuf_fd; | ||
609 | setup_bind_args->userd_dmabuf_offset = | ||
610 | channel_setup_bind_args->userd_dmabuf_offset; | ||
611 | setup_bind_args->gpfifo_dmabuf_fd = | ||
612 | channel_setup_bind_args->gpfifo_dmabuf_fd; | ||
613 | setup_bind_args->gpfifo_dmabuf_offset = | ||
614 | channel_setup_bind_args->gpfifo_dmabuf_offset; | ||
604 | setup_bind_args->flags = nvgpu_setup_bind_user_flags_to_common_flags( | 615 | setup_bind_args->flags = nvgpu_setup_bind_user_flags_to_common_flags( |
605 | channel_setup_bind_args->flags); | 616 | channel_setup_bind_args->flags); |
606 | } | 617 | } |
@@ -1156,6 +1167,8 @@ long gk20a_channel_ioctl(struct file *filp, | |||
1156 | break; | 1167 | break; |
1157 | } | 1168 | } |
1158 | err = nvgpu_channel_setup_bind(ch, &setup_bind_args); | 1169 | err = nvgpu_channel_setup_bind(ch, &setup_bind_args); |
1170 | channel_setup_bind_args->work_submit_token = | ||
1171 | setup_bind_args.work_submit_token; | ||
1159 | gk20a_idle(ch->g); | 1172 | gk20a_idle(ch->g); |
1160 | break; | 1173 | break; |
1161 | } | 1174 | } |