From 2d9b839f21106bd06bd7fc908578703c3eb48353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konsta=20H=C3=B6ltt=C3=A4?= Date: Wed, 1 Apr 2020 14:19:58 +0300 Subject: [PATCH] gpu: nvgpu: remove user sync related apis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Set safe state and get syncpt address in the kernel submission tracking syncs was implemented for userspace syncs. Now that it's clear that the user sync object provides them, there are no users left for these APIs. Remove them. Jira NVGPU-4548 Change-Id: I58e04162dee55bb8d8547c9252033f40ed908144 Signed-off-by: Konsta Hölttä Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2321950 (cherry picked from commit a95c8f7ace562a11ca235d71496d3a7ce150bc7d) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2324251 Tested-by: mobile promotions Reviewed-by: mobile promotions --- drivers/gpu/nvgpu/common/fifo/channel.c | 7 +++---- drivers/gpu/nvgpu/common/sync/channel_sync.c | 11 +---------- .../gpu/nvgpu/common/sync/channel_sync_priv.h | 2 -- .../nvgpu/common/sync/channel_sync_semaphore.c | 6 ------ .../nvgpu/common/sync/channel_sync_syncpt.c | 18 ------------------ drivers/gpu/nvgpu/include/nvgpu/channel_sync.h | 13 +------------ .../nvgpu/include/nvgpu/channel_sync_syncpt.h | 12 ------------ 7 files changed, 5 insertions(+), 64 deletions(-) diff --git a/drivers/gpu/nvgpu/common/fifo/channel.c b/drivers/gpu/nvgpu/common/fifo/channel.c index 24a3b88d1..aec1426dd 100644 --- a/drivers/gpu/nvgpu/common/fifo/channel.c +++ b/drivers/gpu/nvgpu/common/fifo/channel.c @@ -232,7 +232,7 @@ static void channel_kernelmode_deinit(struct nvgpu_channel *ch) /* sync must be destroyed before releasing channel vm */ nvgpu_mutex_acquire(&ch->sync_lock); if (ch->sync != NULL) { - nvgpu_channel_sync_destroy(ch->sync, false); + nvgpu_channel_sync_destroy(ch->sync); ch->sync = NULL; } nvgpu_mutex_release(&ch->sync_lock); @@ -785,7 +785,7 @@ clean_up_prealloc: } clean_up_sync: if (c->sync != NULL) { - nvgpu_channel_sync_destroy(c->sync, false); + nvgpu_channel_sync_destroy(c->sync); c->sync = NULL; } clean_up_unmap: @@ -1382,8 +1382,7 @@ void nvgpu_channel_clean_up_jobs(struct nvgpu_channel *c, nvgpu_mutex_acquire(&c->sync_lock); if (nvgpu_channel_sync_put_ref_and_check(c->sync) && g->aggressive_sync_destroy) { - nvgpu_channel_sync_destroy(c->sync, - false); + nvgpu_channel_sync_destroy(c->sync); c->sync = NULL; } nvgpu_mutex_release(&c->sync_lock); diff --git a/drivers/gpu/nvgpu/common/sync/channel_sync.c b/drivers/gpu/nvgpu/common/sync/channel_sync.c index ccd14f392..a912607a1 100644 --- a/drivers/gpu/nvgpu/common/sync/channel_sync.c +++ b/drivers/gpu/nvgpu/common/sync/channel_sync.c @@ -94,16 +94,7 @@ bool nvgpu_channel_sync_put_ref_and_check(struct nvgpu_channel_sync *s) return nvgpu_atomic_dec_and_test(&s->refcount); } -void nvgpu_channel_sync_set_safe_state(struct nvgpu_channel_sync *s) +void nvgpu_channel_sync_destroy(struct nvgpu_channel_sync *sync) { - s->ops->set_safe_state(s); -} - -void nvgpu_channel_sync_destroy(struct nvgpu_channel_sync *sync, - bool set_safe_state) -{ - if (set_safe_state) { - sync->ops->set_safe_state(sync); - } sync->ops->destroy(sync); } diff --git a/drivers/gpu/nvgpu/common/sync/channel_sync_priv.h b/drivers/gpu/nvgpu/common/sync/channel_sync_priv.h index f41221fb5..f46d6c800 100644 --- a/drivers/gpu/nvgpu/common/sync/channel_sync_priv.h +++ b/drivers/gpu/nvgpu/common/sync/channel_sync_priv.h @@ -76,8 +76,6 @@ struct nvgpu_channel_sync_ops { void (*set_min_eq_max)(struct nvgpu_channel_sync *s); - void (*set_safe_state)(struct nvgpu_channel_sync *s); - void (*destroy)(struct nvgpu_channel_sync *s); }; diff --git a/drivers/gpu/nvgpu/common/sync/channel_sync_semaphore.c b/drivers/gpu/nvgpu/common/sync/channel_sync_semaphore.c index 8a8f386c1..64510767f 100644 --- a/drivers/gpu/nvgpu/common/sync/channel_sync_semaphore.c +++ b/drivers/gpu/nvgpu/common/sync/channel_sync_semaphore.c @@ -293,11 +293,6 @@ static void channel_sync_semaphore_set_min_eq_max(struct nvgpu_channel_sync *s) } } -static void channel_sync_semaphore_set_safe_state(struct nvgpu_channel_sync *s) -{ - /* Nothing to do. */ -} - static void channel_sync_semaphore_destroy(struct nvgpu_channel_sync *s) { struct nvgpu_channel_sync_semaphore *sema = @@ -322,7 +317,6 @@ static const struct nvgpu_channel_sync_ops channel_sync_semaphore_ops = { .incr = channel_sync_semaphore_incr, .incr_user = channel_sync_semaphore_incr_user, .set_min_eq_max = channel_sync_semaphore_set_min_eq_max, - .set_safe_state = channel_sync_semaphore_set_safe_state, .destroy = channel_sync_semaphore_destroy, }; diff --git a/drivers/gpu/nvgpu/common/sync/channel_sync_syncpt.c b/drivers/gpu/nvgpu/common/sync/channel_sync_syncpt.c index 94e886c43..feefd3bf7 100644 --- a/drivers/gpu/nvgpu/common/sync/channel_sync_syncpt.c +++ b/drivers/gpu/nvgpu/common/sync/channel_sync_syncpt.c @@ -306,23 +306,11 @@ static void channel_sync_syncpt_set_min_eq_max(struct nvgpu_channel_sync *s) nvgpu_nvhost_syncpt_set_min_eq_max_ext(sp->nvhost, sp->id); } -static void channel_sync_syncpt_set_safe_state(struct nvgpu_channel_sync *s) -{ - struct nvgpu_channel_sync_syncpt *sp = - nvgpu_channel_sync_syncpt_from_base(s); - nvgpu_nvhost_syncpt_set_safe_state(sp->nvhost, sp->id); -} - static u32 channel_sync_syncpt_get_id(struct nvgpu_channel_sync_syncpt *sp) { return sp->id; } -static u64 channel_sync_syncpt_get_address(struct nvgpu_channel_sync_syncpt *sp) -{ - return sp->syncpt_buf.gpu_va; -} - static void channel_sync_syncpt_destroy(struct nvgpu_channel_sync *s) { struct nvgpu_channel_sync_syncpt *sp = @@ -341,17 +329,11 @@ u32 nvgpu_channel_sync_get_syncpt_id(struct nvgpu_channel_sync_syncpt *s) return channel_sync_syncpt_get_id(s); } -u64 nvgpu_channel_sync_get_syncpt_address(struct nvgpu_channel_sync_syncpt *s) -{ - return channel_sync_syncpt_get_address(s); -} - static const struct nvgpu_channel_sync_ops channel_sync_syncpt_ops = { .wait_fence_fd = channel_sync_syncpt_wait_fd, .incr = channel_sync_syncpt_incr, .incr_user = channel_sync_syncpt_incr_user, .set_min_eq_max = channel_sync_syncpt_set_min_eq_max, - .set_safe_state = channel_sync_syncpt_set_safe_state, .destroy = channel_sync_syncpt_destroy, }; diff --git a/drivers/gpu/nvgpu/include/nvgpu/channel_sync.h b/drivers/gpu/nvgpu/include/nvgpu/channel_sync.h index dbecadf34..43feb2637 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/channel_sync.h +++ b/drivers/gpu/nvgpu/include/nvgpu/channel_sync.h @@ -87,16 +87,6 @@ void nvgpu_channel_sync_get_ref(struct nvgpu_channel_sync *s); bool nvgpu_channel_sync_put_ref_and_check(struct nvgpu_channel_sync *s); #endif /* CONFIG_NVGPU_KERNEL_MODE_SUBMIT */ -/** - * @brief Set the channel syncpoint/semaphore to safe state - * - * @param sync [in] Pointer to syncpoint/semaphore. - * - * This should be used to reset User managed syncpoint since we don't - * track threshold values for those syncpoints - */ -void nvgpu_channel_sync_set_safe_state(struct nvgpu_channel_sync *s); - /** * @brief Free channel syncpoint/semaphore * @@ -104,8 +94,7 @@ void nvgpu_channel_sync_set_safe_state(struct nvgpu_channel_sync *s); * * Free the resources allocated by nvgpu_channel_sync_create. */ -void nvgpu_channel_sync_destroy(struct nvgpu_channel_sync *sync, - bool set_safe_state); +void nvgpu_channel_sync_destroy(struct nvgpu_channel_sync *sync); /** * @brief Create channel syncpoint/semaphore diff --git a/drivers/gpu/nvgpu/include/nvgpu/channel_sync_syncpt.h b/drivers/gpu/nvgpu/include/nvgpu/channel_sync_syncpt.h index a6fcff99f..df2bcb9af 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/channel_sync_syncpt.h +++ b/drivers/gpu/nvgpu/include/nvgpu/channel_sync_syncpt.h @@ -48,18 +48,6 @@ struct priv_cmd_entry; */ u32 nvgpu_channel_sync_get_syncpt_id(struct nvgpu_channel_sync_syncpt *s); -/** - * @brief Get syncpoint address - * - * @param s [in] Syncpoint pointer. - * - * Get syncpoint GPU VA. This address can be used in push buffer entries - * for acquire/release operations. - * - * @return Syncpoint address (GPU VA) of syncpoint or 0 if not supported - */ -u64 nvgpu_channel_sync_get_syncpt_address(struct nvgpu_channel_sync_syncpt *s); - #ifdef CONFIG_NVGPU_KERNEL_MODE_SUBMIT /* * Generate a gpu wait cmdbuf from raw fence(can be syncpoints or semaphores).