summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/channel.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2018-02-28 06:08:50 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-03-01 16:53:24 -0500
commitaa1da74a75aca5d85d1a78546fec381423bf5836 (patch)
tree199bdcf12bb98392675daff69a5c04919584a9b6 /drivers/gpu/nvgpu/common/linux/channel.c
parentabe829338c128d18fd2c7af3387a537f55abd24d (diff)
Revert "gpu: nvgpu: support user fence updates"
This reverts commit 0c46f8a5e112c08c172ee2c692832e1753ffbcce. We should not support tracking of MAX/threshold value for syncpoint allocated by user space Hence revert this patch Bug 200326065 Jira NVGPU-179 Change-Id: I2df8f8c13fdac91c0814b11a2b7dee30153409d4 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1665827 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/channel.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/channel.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/channel.c b/drivers/gpu/nvgpu/common/linux/channel.c
index 35fb3023..a725cd6b 100644
--- a/drivers/gpu/nvgpu/common/linux/channel.c
+++ b/drivers/gpu/nvgpu/common/linux/channel.c
@@ -720,8 +720,7 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
720 return -EINVAL; 720 return -EINVAL;
721 721
722 if ((flags & (NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_WAIT | 722 if ((flags & (NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_WAIT |
723 NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_GET | 723 NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_GET)) &&
724 NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE)) &&
725 !fence) 724 !fence)
726 return -EINVAL; 725 return -EINVAL;
727 726
@@ -758,16 +757,6 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
758 (g->can_railgate && !c->deterministic) || 757 (g->can_railgate && !c->deterministic) ||
759 !skip_buffer_refcounting; 758 !skip_buffer_refcounting;
760 759
761 /*
762 * If User is adding increments to the pushbuffer and doing all job
763 * tracking, then no need for kernel tracking here
764 * User should ensure that all pre-requisites for fast submit are met
765 * Fail the submit if that's not the case
766 */
767 if (need_job_tracking &&
768 (flags & NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE))
769 return -EINVAL;
770
771 if (need_job_tracking) { 760 if (need_job_tracking) {
772 bool need_sync_framework = false; 761 bool need_sync_framework = false;
773 762
@@ -879,15 +868,6 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
879 goto clean_up; 868 goto clean_up;
880 } 869 }
881 870
882 if (flags & NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE) {
883 /*
884 * User space adds increments in the pushbuffer, so just
885 * handle the threshold book keeping in kernel by adding
886 * number of syncpoint increments to threshold
887 */
888 c->sync->add_user_incrs(c->sync, fence->value);
889 }
890
891 if (need_job_tracking) { 871 if (need_job_tracking) {
892 err = channel_gk20a_alloc_job(c, &job); 872 err = channel_gk20a_alloc_job(c, &job);
893 if (err) 873 if (err)