diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2018-03-16 12:10:33 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-16 20:11:03 -0400 |
commit | 69252b3fb629d9534e7a9c4e3b75d3462653f00d (patch) | |
tree | 3297d9f0a4c26b01dd018d2e132dc1c872e3c831 /drivers/gpu/nvgpu/common/linux | |
parent | 703c1ea59638151846690e02d098cad83b7d6a78 (diff) |
gpu: nvgpu: remove support for foreign sema syncfds
Delete the proxy waiter for non-semaphore-backed syncfds in sema wait
path to simplify code, to remove dependencies to the sync framework (and
thus Linux) and to support upcoming refactorings. This feature has never
been used for actually foreign fences.
Jira NVGPU-43
Jira NVGPU-66
Change-Id: I2b539aefd2d096a7bf5f40e61d48de7a9b3dccae
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1665119
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Alex Waterman <alexw@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')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/driver_common.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c | 3 |
3 files changed, 0 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index 62596d49..c3663117 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c | |||
@@ -77,9 +77,6 @@ static void nvgpu_init_vars(struct gk20a *g) | |||
77 | dma_set_mask(dev, DMA_BIT_MASK(34)); | 77 | dma_set_mask(dev, DMA_BIT_MASK(34)); |
78 | dma_set_coherent_mask(dev, DMA_BIT_MASK(34)); | 78 | dma_set_coherent_mask(dev, DMA_BIT_MASK(34)); |
79 | 79 | ||
80 | nvgpu_init_list_node(&g->pending_sema_waits); | ||
81 | nvgpu_raw_spinlock_init(&g->pending_sema_waits_lock); | ||
82 | |||
83 | nvgpu_init_list_node(&g->profiler_objects); | 80 | nvgpu_init_list_node(&g->profiler_objects); |
84 | 81 | ||
85 | nvgpu_init_list_node(&g->boardobj_head); | 82 | nvgpu_init_list_node(&g->boardobj_head); |
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index 84cc3399..d79de211 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c | |||
@@ -1052,7 +1052,6 @@ void gk20a_driver_start_unload(struct gk20a *g) | |||
1052 | gk20a_wait_for_idle(g); | 1052 | gk20a_wait_for_idle(g); |
1053 | 1053 | ||
1054 | nvgpu_wait_for_deferred_interrupts(g); | 1054 | nvgpu_wait_for_deferred_interrupts(g); |
1055 | gk20a_channel_cancel_pending_sema_waits(g); | ||
1056 | 1055 | ||
1057 | if (l->nonstall_work_queue) { | 1056 | if (l->nonstall_work_queue) { |
1058 | cancel_work_sync(&l->nonstall_fn_work); | 1057 | cancel_work_sync(&l->nonstall_fn_work); |
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c index 6f040603..c3d95b4a 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu_linux.c | |||
@@ -80,9 +80,6 @@ static void vgpu_init_vars(struct gk20a *g, struct gk20a_platform *platform) | |||
80 | l->regs_saved = l->regs; | 80 | l->regs_saved = l->regs; |
81 | l->bar1_saved = l->bar1; | 81 | l->bar1_saved = l->bar1; |
82 | 82 | ||
83 | nvgpu_init_list_node(&g->pending_sema_waits); | ||
84 | nvgpu_raw_spinlock_init(&g->pending_sema_waits_lock); | ||
85 | |||
86 | g->aggressive_sync_destroy = platform->aggressive_sync_destroy; | 83 | g->aggressive_sync_destroy = platform->aggressive_sync_destroy; |
87 | g->aggressive_sync_destroy_thresh = platform->aggressive_sync_destroy_thresh; | 84 | g->aggressive_sync_destroy_thresh = platform->aggressive_sync_destroy_thresh; |
88 | g->has_syncpoints = platform->has_syncpoints; | 85 | g->has_syncpoints = platform->has_syncpoints; |