summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/sched_gk20a.c
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2017-10-10 01:15:54 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-16 16:35:04 -0400
commit61b263d83222cd5d2ff3d2d5d699b07ebdf44288 (patch)
tree07ef35fb427dc2f93741ed9193673b6da2872bb7 /drivers/gpu/nvgpu/gk20a/sched_gk20a.c
parent30b9cbe35a2a0adc4e3a65b033dc0f61046783ea (diff)
gpu: nvgpu: replace wait_queue_head_t with nvgpu_cond
Replace existing usages of wait_queue_head_t with struct nvgpu_cond and using the corresponding APIs in order to reduce Linux dependencies in NVGPU. JIRA NVGPU-205 Change-Id: I85850369c3c47d3e1704e4171b1d172361842423 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1575778 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/sched_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/sched_gk20a.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/sched_gk20a.c b/drivers/gpu/nvgpu/gk20a/sched_gk20a.c
index d635b43b..a77536af 100644
--- a/drivers/gpu/nvgpu/gk20a/sched_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/sched_gk20a.c
@@ -58,8 +58,8 @@ ssize_t gk20a_sched_dev_read(struct file *filp, char __user *buf,
58 nvgpu_mutex_release(&sched->status_lock); 58 nvgpu_mutex_release(&sched->status_lock);
59 if (filp->f_flags & O_NONBLOCK) 59 if (filp->f_flags & O_NONBLOCK)
60 return -EAGAIN; 60 return -EAGAIN;
61 err = wait_event_interruptible(sched->readout_wq, 61 err = NVGPU_COND_WAIT_INTERRUPTIBLE(&sched->readout_wq,
62 sched->status); 62 sched->status, 0);
63 if (err) 63 if (err)
64 return err; 64 return err;
65 nvgpu_mutex_acquire(&sched->status_lock); 65 nvgpu_mutex_acquire(&sched->status_lock);
@@ -88,7 +88,7 @@ unsigned int gk20a_sched_dev_poll(struct file *filp, poll_table *wait)
88 gk20a_dbg(gpu_dbg_fn | gpu_dbg_sched, ""); 88 gk20a_dbg(gpu_dbg_fn | gpu_dbg_sched, "");
89 89
90 nvgpu_mutex_acquire(&sched->status_lock); 90 nvgpu_mutex_acquire(&sched->status_lock);
91 poll_wait(filp, &sched->readout_wq, wait); 91 poll_wait(filp, &sched->readout_wq.wq, wait);
92 if (sched->status) 92 if (sched->status)
93 mask |= POLLIN | POLLRDNORM; 93 mask |= POLLIN | POLLRDNORM;
94 nvgpu_mutex_release(&sched->status_lock); 94 nvgpu_mutex_release(&sched->status_lock);
@@ -552,7 +552,7 @@ void gk20a_sched_ctrl_tsg_added(struct gk20a *g, struct tsg_gk20a *tsg)
552 NVGPU_SCHED_SET(tsg->tsgid, sched->recent_tsg_bitmap); 552 NVGPU_SCHED_SET(tsg->tsgid, sched->recent_tsg_bitmap);
553 sched->status |= NVGPU_SCHED_STATUS_TSG_OPEN; 553 sched->status |= NVGPU_SCHED_STATUS_TSG_OPEN;
554 nvgpu_mutex_release(&sched->status_lock); 554 nvgpu_mutex_release(&sched->status_lock);
555 wake_up_interruptible(&sched->readout_wq); 555 nvgpu_cond_signal_interruptible(&sched->readout_wq);
556} 556}
557 557
558void gk20a_sched_ctrl_tsg_removed(struct gk20a *g, struct tsg_gk20a *tsg) 558void gk20a_sched_ctrl_tsg_removed(struct gk20a *g, struct tsg_gk20a *tsg)
@@ -609,7 +609,7 @@ int gk20a_sched_ctrl_init(struct gk20a *g)
609 goto free_recent; 609 goto free_recent;
610 } 610 }
611 611
612 init_waitqueue_head(&sched->readout_wq); 612 nvgpu_cond_init(&sched->readout_wq);
613 613
614 err = nvgpu_mutex_init(&sched->status_lock); 614 err = nvgpu_mutex_init(&sched->status_lock);
615 if (err) 615 if (err)