summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c12
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c6
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/sched_gk20a.c10
-rw-r--r--drivers/gpu/nvgpu/gk20a/sched_gk20a.h2
6 files changed, 17 insertions, 17 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index 9c0d22d2..4b1cb351 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -126,7 +126,7 @@ struct gk20a_event_id_data {
126 126
127 bool event_posted; 127 bool event_posted;
128 128
129 wait_queue_head_t event_id_wq; 129 struct nvgpu_cond event_id_wq;
130 struct nvgpu_mutex lock; 130 struct nvgpu_mutex lock;
131 struct nvgpu_list_node event_id_node; 131 struct nvgpu_list_node event_id_node;
132}; 132};
diff --git a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c
index 9977c5a1..fb33de23 100644
--- a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c
@@ -53,7 +53,7 @@ struct gk20a_ctxsw_dev {
53 struct nvgpu_ctxsw_trace_entry *ents; 53 struct nvgpu_ctxsw_trace_entry *ents;
54 struct nvgpu_ctxsw_trace_filter filter; 54 struct nvgpu_ctxsw_trace_filter filter;
55 bool write_enabled; 55 bool write_enabled;
56 wait_queue_head_t readout_wq; 56 struct nvgpu_cond readout_wq;
57 size_t size; 57 size_t size;
58 u32 num_ents; 58 u32 num_ents;
59 59
@@ -100,8 +100,8 @@ ssize_t gk20a_ctxsw_dev_read(struct file *filp, char __user *buf, size_t size,
100 nvgpu_mutex_release(&dev->write_lock); 100 nvgpu_mutex_release(&dev->write_lock);
101 if (filp->f_flags & O_NONBLOCK) 101 if (filp->f_flags & O_NONBLOCK)
102 return -EAGAIN; 102 return -EAGAIN;
103 err = wait_event_interruptible(dev->readout_wq, 103 err = NVGPU_COND_WAIT_INTERRUPTIBLE(&dev->readout_wq,
104 !ring_is_empty(hdr)); 104 !ring_is_empty(hdr), 0);
105 if (err) 105 if (err)
106 return err; 106 return err;
107 nvgpu_mutex_acquire(&dev->write_lock); 107 nvgpu_mutex_acquire(&dev->write_lock);
@@ -436,7 +436,7 @@ unsigned int gk20a_ctxsw_dev_poll(struct file *filp, poll_table *wait)
436 gk20a_dbg(gpu_dbg_fn|gpu_dbg_ctxsw, ""); 436 gk20a_dbg(gpu_dbg_fn|gpu_dbg_ctxsw, "");
437 437
438 nvgpu_mutex_acquire(&dev->write_lock); 438 nvgpu_mutex_acquire(&dev->write_lock);
439 poll_wait(filp, &dev->readout_wq, wait); 439 poll_wait(filp, &dev->readout_wq.wq, wait);
440 if (!ring_is_empty(hdr)) 440 if (!ring_is_empty(hdr))
441 mask |= POLLIN | POLLRDNORM; 441 mask |= POLLIN | POLLRDNORM;
442 nvgpu_mutex_release(&dev->write_lock); 442 nvgpu_mutex_release(&dev->write_lock);
@@ -503,7 +503,7 @@ static int gk20a_ctxsw_init_devs(struct gk20a *g)
503 dev->g = g; 503 dev->g = g;
504 dev->hdr = NULL; 504 dev->hdr = NULL;
505 dev->write_enabled = false; 505 dev->write_enabled = false;
506 init_waitqueue_head(&dev->readout_wq); 506 nvgpu_cond_init(&dev->readout_wq);
507 err = nvgpu_mutex_init(&dev->write_lock); 507 err = nvgpu_mutex_init(&dev->write_lock);
508 if (err) 508 if (err)
509 return err; 509 return err;
@@ -683,7 +683,7 @@ void gk20a_ctxsw_trace_wake_up(struct gk20a *g, int vmid)
683 return; 683 return;
684 684
685 dev = &g->ctxsw_trace->devs[vmid]; 685 dev = &g->ctxsw_trace->devs[vmid];
686 wake_up_interruptible(&dev->readout_wq); 686 nvgpu_cond_signal_interruptible(&dev->readout_wq);
687} 687}
688 688
689void gk20a_ctxsw_trace_channel_reset(struct gk20a *g, struct channel_gk20a *ch) 689void gk20a_ctxsw_trace_channel_reset(struct gk20a *g, struct channel_gk20a *ch)
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index c2885807..135cb1e9 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -158,7 +158,7 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode,
158 dbg_session->is_pg_disabled = false; 158 dbg_session->is_pg_disabled = false;
159 dbg_session->is_timeout_disabled = false; 159 dbg_session->is_timeout_disabled = false;
160 160
161 init_waitqueue_head(&dbg_session->dbg_events.wait_queue); 161 nvgpu_cond_init(&dbg_session->dbg_events.wait_queue);
162 nvgpu_init_list_node(&dbg_session->ch_list); 162 nvgpu_init_list_node(&dbg_session->ch_list);
163 err = nvgpu_mutex_init(&dbg_session->ch_list_lock); 163 err = nvgpu_mutex_init(&dbg_session->ch_list_lock);
164 if (err) 164 if (err)
@@ -286,7 +286,7 @@ unsigned int gk20a_dbg_gpu_dev_poll(struct file *filep, poll_table *wait)
286 286
287 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, ""); 287 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "");
288 288
289 poll_wait(filep, &dbg_s->dbg_events.wait_queue, wait); 289 poll_wait(filep, &dbg_s->dbg_events.wait_queue.wq, wait);
290 290
291 gk20a_dbg_session_nvgpu_mutex_acquire(dbg_s); 291 gk20a_dbg_session_nvgpu_mutex_acquire(dbg_s);
292 292
@@ -337,7 +337,7 @@ void gk20a_dbg_gpu_post_events(struct channel_gk20a *ch)
337 337
338 dbg_s->dbg_events.num_pending_events++; 338 dbg_s->dbg_events.num_pending_events++;
339 339
340 wake_up_interruptible_all(&dbg_s->dbg_events.wait_queue); 340 nvgpu_cond_broadcast_interruptible(&dbg_s->dbg_events.wait_queue);
341 } 341 }
342 } 342 }
343 343
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h
index 062674fb..1a6de3a8 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h
@@ -41,7 +41,7 @@ struct channel_gk20a *
41nvgpu_dbg_gpu_get_session_channel(struct dbg_session_gk20a *dbg_s); 41nvgpu_dbg_gpu_get_session_channel(struct dbg_session_gk20a *dbg_s);
42 42
43struct dbg_gpu_session_events { 43struct dbg_gpu_session_events {
44 wait_queue_head_t wait_queue; 44 struct nvgpu_cond wait_queue;
45 bool events_enabled; 45 bool events_enabled;
46 int num_pending_events; 46 int num_pending_events;
47}; 47};
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)
diff --git a/drivers/gpu/nvgpu/gk20a/sched_gk20a.h b/drivers/gpu/nvgpu/gk20a/sched_gk20a.h
index a54553c1..0cdb9914 100644
--- a/drivers/gpu/nvgpu/gk20a/sched_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/sched_gk20a.h
@@ -44,7 +44,7 @@ struct gk20a_sched_ctrl {
44 u64 *recent_tsg_bitmap; 44 u64 *recent_tsg_bitmap;
45 u64 *ref_tsg_bitmap; 45 u64 *ref_tsg_bitmap;
46 46
47 wait_queue_head_t readout_wq; 47 struct nvgpu_cond readout_wq;
48}; 48};
49 49
50int gk20a_sched_dev_release(struct inode *inode, struct file *filp); 50int gk20a_sched_dev_release(struct inode *inode, struct file *filp);