diff options
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_channel.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 2 |
7 files changed, 8 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c index d81328f0..2c9fac0b 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c | |||
@@ -476,8 +476,8 @@ static int gk20a_channel_wait(struct channel_gk20a *ch, | |||
476 | 476 | ||
477 | /* user should set status pending before | 477 | /* user should set status pending before |
478 | * calling this ioctl */ | 478 | * calling this ioctl */ |
479 | remain = wait_event_interruptible_timeout( | 479 | remain = NVGPU_COND_WAIT_INTERRUPTIBLE( |
480 | ch->notifier_wq, | 480 | &ch->notifier_wq, |
481 | notif->status == 0 || ch->has_timedout, | 481 | notif->status == 0 || ch->has_timedout, |
482 | timeout); | 482 | timeout); |
483 | 483 | ||
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 13abed95..fad6b6af 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -867,7 +867,7 @@ struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g, | |||
867 | /* The channel is *not* runnable at this point. It still needs to have | 867 | /* The channel is *not* runnable at this point. It still needs to have |
868 | * an address space bound and allocate a gpfifo and grctx. */ | 868 | * an address space bound and allocate a gpfifo and grctx. */ |
869 | 869 | ||
870 | init_waitqueue_head(&ch->notifier_wq); | 870 | nvgpu_cond_init(&ch->notifier_wq); |
871 | nvgpu_cond_init(&ch->semaphore_wq); | 871 | nvgpu_cond_init(&ch->semaphore_wq); |
872 | 872 | ||
873 | ch->update_fn = NULL; | 873 | ch->update_fn = NULL; |
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h index 4bca4edb..a636e13c 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |||
@@ -19,7 +19,6 @@ | |||
19 | #define CHANNEL_GK20A_H | 19 | #define CHANNEL_GK20A_H |
20 | 20 | ||
21 | #include <linux/stacktrace.h> | 21 | #include <linux/stacktrace.h> |
22 | #include <linux/wait.h> | ||
23 | #include <nvgpu/list.h> | 22 | #include <nvgpu/list.h> |
24 | 23 | ||
25 | #include <nvgpu/lock.h> | 24 | #include <nvgpu/lock.h> |
@@ -218,7 +217,7 @@ struct channel_gk20a { | |||
218 | 217 | ||
219 | struct priv_cmd_queue priv_cmd_q; | 218 | struct priv_cmd_queue priv_cmd_q; |
220 | 219 | ||
221 | wait_queue_head_t notifier_wq; | 220 | struct nvgpu_cond notifier_wq; |
222 | struct nvgpu_cond semaphore_wq; | 221 | struct nvgpu_cond semaphore_wq; |
223 | 222 | ||
224 | u32 timeout_accumulated_ms; | 223 | u32 timeout_accumulated_ms; |
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 46560a56..9141264b 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -1358,7 +1358,7 @@ static void gk20a_fifo_set_has_timedout_and_wake_up_wqs(struct gk20a *g, | |||
1358 | wmb(); | 1358 | wmb(); |
1359 | /* unblock pending waits */ | 1359 | /* unblock pending waits */ |
1360 | nvgpu_cond_broadcast_interruptible(&refch->semaphore_wq); | 1360 | nvgpu_cond_broadcast_interruptible(&refch->semaphore_wq); |
1361 | wake_up(&refch->notifier_wq); | 1361 | nvgpu_cond_broadcast_interruptible(&refch->notifier_wq); |
1362 | } | 1362 | } |
1363 | } | 1363 | } |
1364 | 1364 | ||
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 2cf55119..f8e05818 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5873,7 +5873,7 @@ static int gk20a_gr_handle_notify_pending(struct gk20a *g, | |||
5873 | nvgpu_mutex_release(&ch->cyclestate.cyclestate_buffer_mutex); | 5873 | nvgpu_mutex_release(&ch->cyclestate.cyclestate_buffer_mutex); |
5874 | #endif | 5874 | #endif |
5875 | gk20a_dbg_fn(""); | 5875 | gk20a_dbg_fn(""); |
5876 | wake_up(&ch->notifier_wq); | 5876 | nvgpu_cond_broadcast_interruptible(&ch->notifier_wq); |
5877 | return 0; | 5877 | return 0; |
5878 | } | 5878 | } |
5879 | 5879 | ||
diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index 5fbe7227..8d12bb42 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | |||
@@ -724,7 +724,7 @@ static void vgpu_fifo_set_ctx_mmu_error(struct gk20a *g, | |||
724 | wmb(); | 724 | wmb(); |
725 | /* unblock pending waits */ | 725 | /* unblock pending waits */ |
726 | nvgpu_cond_broadcast_interruptible(&ch->semaphore_wq); | 726 | nvgpu_cond_broadcast_interruptible(&ch->semaphore_wq); |
727 | wake_up(&ch->notifier_wq); | 727 | nvgpu_cond_broadcast_interruptible(&ch->notifier_wq); |
728 | } | 728 | } |
729 | 729 | ||
730 | int vgpu_fifo_isr(struct gk20a *g, struct tegra_vgpu_fifo_intr_info *info) | 730 | int vgpu_fifo_isr(struct gk20a *g, struct tegra_vgpu_fifo_intr_info *info) |
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index 2198b115..a001b54e 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c | |||
@@ -925,7 +925,7 @@ int vgpu_gr_isr(struct gk20a *g, struct tegra_vgpu_gr_intr_info *info) | |||
925 | 925 | ||
926 | switch (info->type) { | 926 | switch (info->type) { |
927 | case TEGRA_VGPU_GR_INTR_NOTIFY: | 927 | case TEGRA_VGPU_GR_INTR_NOTIFY: |
928 | wake_up(&ch->notifier_wq); | 928 | nvgpu_cond_broadcast_interruptible(&ch->notifier_wq); |
929 | break; | 929 | break; |
930 | case TEGRA_VGPU_GR_INTR_SEMAPHORE: | 930 | case TEGRA_VGPU_GR_INTR_SEMAPHORE: |
931 | nvgpu_cond_broadcast_interruptible(&ch->semaphore_wq); | 931 | nvgpu_cond_broadcast_interruptible(&ch->semaphore_wq); |