summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os/linux/ioctl_channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/ioctl_channel.c')
-rw-r--r--drivers/gpu/nvgpu/os/linux/ioctl_channel.c13
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 }