From aa1da74a75aca5d85d1a78546fec381423bf5836 Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Wed, 28 Feb 2018 03:08:50 -0800 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1665827 Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/channel.c | 22 +--------------------- drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | 15 --------------- drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h | 3 --- 3 files changed, 1 insertion(+), 39 deletions(-) (limited to 'drivers/gpu/nvgpu') 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, return -EINVAL; if ((flags & (NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_WAIT | - NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_GET | - NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE)) && + NVGPU_SUBMIT_GPFIFO_FLAGS_FENCE_GET)) && !fence) return -EINVAL; @@ -758,16 +757,6 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, (g->can_railgate && !c->deterministic) || !skip_buffer_refcounting; - /* - * If User is adding increments to the pushbuffer and doing all job - * tracking, then no need for kernel tracking here - * User should ensure that all pre-requisites for fast submit are met - * Fail the submit if that's not the case - */ - if (need_job_tracking && - (flags & NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE)) - return -EINVAL; - if (need_job_tracking) { bool need_sync_framework = false; @@ -879,15 +868,6 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, goto clean_up; } - if (flags & NVGPU_SUBMIT_GPFIFO_FLAGS_USER_FENCE_UPDATE) { - /* - * User space adds increments in the pushbuffer, so just - * handle the threshold book keeping in kernel by adding - * number of syncpoint increments to threshold - */ - c->sync->add_user_incrs(c->sync, fence->value); - } - if (need_job_tracking) { err = channel_gk20a_alloc_job(c, &job); if (err) diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c index 18d61faa..e965a329 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c @@ -301,13 +301,6 @@ static u64 gk20a_channel_syncpt_address(struct gk20a_channel_sync *s) return sp->syncpt_buf.gpu_va; } -static u32 gk20a_channel_add_user_incrs(struct gk20a_channel_sync *s, u32 val) -{ - struct gk20a_channel_syncpt *sp = - container_of(s, struct gk20a_channel_syncpt, ops); - return nvgpu_nvhost_syncpt_incr_max_ext(sp->nvhost_dev, sp->id, val); -} - static void gk20a_channel_syncpt_destroy(struct gk20a_channel_sync *s) { struct gk20a_channel_syncpt *sp = @@ -360,7 +353,6 @@ gk20a_channel_syncpt_create(struct channel_gk20a *c) sp->ops.signal_timeline = gk20a_channel_syncpt_signal_timeline; sp->ops.syncpt_id = gk20a_channel_syncpt_id; sp->ops.syncpt_address = gk20a_channel_syncpt_address; - sp->ops.add_user_incrs = gk20a_channel_add_user_incrs; sp->ops.destroy = gk20a_channel_syncpt_destroy; return &sp->ops; @@ -886,12 +878,6 @@ static u64 gk20a_channel_semaphore_syncpt_address(struct gk20a_channel_sync *s) return 0; } -static u32 gk20a_channel_semaphore_add_user_incrs(struct gk20a_channel_sync *s, - u32 val) -{ - return 0; -} - static void gk20a_channel_semaphore_destroy(struct gk20a_channel_sync *s) { struct gk20a_channel_semaphore *sema = @@ -944,7 +930,6 @@ gk20a_channel_semaphore_create(struct channel_gk20a *c) sema->ops.signal_timeline = gk20a_channel_semaphore_signal_timeline; sema->ops.syncpt_id = gk20a_channel_semaphore_syncpt_id; sema->ops.syncpt_address = gk20a_channel_semaphore_syncpt_address; - sema->ops.add_user_incrs = gk20a_channel_semaphore_add_user_incrs; sema->ops.destroy = gk20a_channel_semaphore_destroy; return &sema->ops; diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h index c80ebd38..fe1d8526 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h @@ -105,9 +105,6 @@ struct gk20a_channel_sync { /* Returns the sync point address of sync point or 0 if not supported */ u64 (*syncpt_address)(struct gk20a_channel_sync *s); - /* Handle user added increments in the push buffer */ - u32 (*add_user_incrs)(struct gk20a_channel_sync *s, u32 val); - /* Free the resources allocated by gk20a_channel_sync_create. */ void (*destroy)(struct gk20a_channel_sync *s); }; -- cgit v1.2.2