diff options
author | Sourab Gupta <sourabg@nvidia.com> | 2018-05-04 02:43:41 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-05-18 02:34:36 -0400 |
commit | c06c2c52ce4991f885fd30f76236038ed4933a3a (patch) | |
tree | 1aad4c2be0852f4d69031c63c882f375a1adacfa | |
parent | fc3ac7d2ae2c7cb856fff58af77bb8d453ff5473 (diff) |
gpu: nvgpu: add macro for clk arb debug logs
Introduce a macro for clk arbiter debug logs.
Jira VQRM-3741
Change-Id: I9f4ebf5f979e84b6383dc8755eb34c0ffa3d0f43
Signed-off-by: Sourab Gupta <sourabg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1709652
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_arb.c | 18 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_clk_arb.c | 18 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/clk_arb.h | 5 |
3 files changed, 23 insertions, 18 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_arb.c b/drivers/gpu/nvgpu/clk/clk_arb.c index fdf17408..eaf9d8a5 100644 --- a/drivers/gpu/nvgpu/clk/clk_arb.c +++ b/drivers/gpu/nvgpu/clk/clk_arb.c | |||
@@ -752,7 +752,7 @@ static void nvgpu_clk_arb_run_arbiter_cb(struct nvgpu_clk_arb *arb) | |||
752 | 752 | ||
753 | #endif | 753 | #endif |
754 | 754 | ||
755 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 755 | clk_arb_dbg(g, " "); |
756 | 756 | ||
757 | /* bail out if gpu is down */ | 757 | /* bail out if gpu is down */ |
758 | if (nvgpu_atomic64_read(&arb->alarm_mask) & EVENT(ALARM_GPU_LOST)) | 758 | if (nvgpu_atomic64_read(&arb->alarm_mask) & EVENT(ALARM_GPU_LOST)) |
@@ -1031,7 +1031,7 @@ exit_arb: | |||
1031 | static void nvgpu_clk_arb_worker_process_item( | 1031 | static void nvgpu_clk_arb_worker_process_item( |
1032 | struct nvgpu_clk_arb_work_item *work_item) | 1032 | struct nvgpu_clk_arb_work_item *work_item) |
1033 | { | 1033 | { |
1034 | nvgpu_log(work_item->arb->g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1034 | clk_arb_dbg(work_item->arb->g, " "); |
1035 | 1035 | ||
1036 | if (work_item->item_type == CLK_ARB_WORK_UPDATE_VF_TABLE) | 1036 | if (work_item->item_type == CLK_ARB_WORK_UPDATE_VF_TABLE) |
1037 | nvgpu_clk_arb_run_vf_table_cb(work_item->arb); | 1037 | nvgpu_clk_arb_run_vf_table_cb(work_item->arb); |
@@ -1050,7 +1050,7 @@ static int nvgpu_clk_arb_worker_wakeup(struct gk20a *g) | |||
1050 | { | 1050 | { |
1051 | int put; | 1051 | int put; |
1052 | 1052 | ||
1053 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1053 | clk_arb_dbg(g, " "); |
1054 | 1054 | ||
1055 | put = nvgpu_atomic_inc_return(&g->clk_arb_worker.put); | 1055 | put = nvgpu_atomic_inc_return(&g->clk_arb_worker.put); |
1056 | nvgpu_cond_signal_interruptible(&g->clk_arb_worker.wq); | 1056 | nvgpu_cond_signal_interruptible(&g->clk_arb_worker.wq); |
@@ -1118,7 +1118,7 @@ static int nvgpu_clk_arb_poll_worker(void *arg) | |||
1118 | struct gk20a_worker *worker = &g->clk_arb_worker; | 1118 | struct gk20a_worker *worker = &g->clk_arb_worker; |
1119 | int get = 0; | 1119 | int get = 0; |
1120 | 1120 | ||
1121 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1121 | clk_arb_dbg(g, " "); |
1122 | 1122 | ||
1123 | while (!nvgpu_thread_should_stop(&worker->poll_task)) { | 1123 | while (!nvgpu_thread_should_stop(&worker->poll_task)) { |
1124 | int ret; | 1124 | int ret; |
@@ -1175,7 +1175,7 @@ static int __nvgpu_clk_arb_worker_start(struct gk20a *g) | |||
1175 | void nvgpu_clk_arb_worker_enqueue(struct gk20a *g, | 1175 | void nvgpu_clk_arb_worker_enqueue(struct gk20a *g, |
1176 | struct nvgpu_clk_arb_work_item *work_item) | 1176 | struct nvgpu_clk_arb_work_item *work_item) |
1177 | { | 1177 | { |
1178 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1178 | clk_arb_dbg(g, " "); |
1179 | 1179 | ||
1180 | /* | 1180 | /* |
1181 | * Warn if worker thread cannot run | 1181 | * Warn if worker thread cannot run |
@@ -1232,7 +1232,7 @@ int nvgpu_clk_arb_init_arbiter(struct gk20a *g) | |||
1232 | int index; | 1232 | int index; |
1233 | struct nvgpu_clk_vf_table *table; | 1233 | struct nvgpu_clk_vf_table *table; |
1234 | 1234 | ||
1235 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1235 | clk_arb_dbg(g, " "); |
1236 | 1236 | ||
1237 | if (!g->ops.clk_arb.get_arbiter_clk_domains) | 1237 | if (!g->ops.clk_arb.get_arbiter_clk_domains) |
1238 | return 0; | 1238 | return 0; |
@@ -1420,7 +1420,7 @@ int nvgpu_clk_arb_init_session(struct gk20a *g, | |||
1420 | struct nvgpu_clk_arb *arb = g->clk_arb; | 1420 | struct nvgpu_clk_arb *arb = g->clk_arb; |
1421 | struct nvgpu_clk_session *session = *(_session); | 1421 | struct nvgpu_clk_session *session = *(_session); |
1422 | 1422 | ||
1423 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1423 | clk_arb_dbg(g, " "); |
1424 | 1424 | ||
1425 | if (!g->ops.clk_arb.get_arbiter_clk_domains) | 1425 | if (!g->ops.clk_arb.get_arbiter_clk_domains) |
1426 | return 0; | 1426 | return 0; |
@@ -1469,7 +1469,7 @@ void nvgpu_clk_arb_free_session(struct nvgpu_ref *refcount) | |||
1469 | struct gk20a *g = session->g; | 1469 | struct gk20a *g = session->g; |
1470 | struct nvgpu_clk_dev *dev, *tmp; | 1470 | struct nvgpu_clk_dev *dev, *tmp; |
1471 | 1471 | ||
1472 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1472 | clk_arb_dbg(g, " "); |
1473 | 1473 | ||
1474 | if (arb) { | 1474 | if (arb) { |
1475 | nvgpu_spinlock_acquire(&arb->sessions_lock); | 1475 | nvgpu_spinlock_acquire(&arb->sessions_lock); |
@@ -1493,7 +1493,7 @@ void nvgpu_clk_arb_release_session(struct gk20a *g, | |||
1493 | { | 1493 | { |
1494 | struct nvgpu_clk_arb *arb = g->clk_arb; | 1494 | struct nvgpu_clk_arb *arb = g->clk_arb; |
1495 | 1495 | ||
1496 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 1496 | clk_arb_dbg(g, " "); |
1497 | 1497 | ||
1498 | session->zombie = true; | 1498 | session->zombie = true; |
1499 | nvgpu_ref_put(&session->refcount, nvgpu_clk_arb_free_session); | 1499 | nvgpu_ref_put(&session->refcount, nvgpu_clk_arb_free_session); |
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_clk_arb.c b/drivers/gpu/nvgpu/common/linux/ioctl_clk_arb.c index e4ac68a3..9593e2b7 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_clk_arb.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_clk_arb.c | |||
@@ -53,7 +53,7 @@ static int nvgpu_clk_arb_release_completion_dev(struct inode *inode, | |||
53 | struct nvgpu_clk_session *session = dev->session; | 53 | struct nvgpu_clk_session *session = dev->session; |
54 | 54 | ||
55 | 55 | ||
56 | nvgpu_log(session->g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 56 | clk_arb_dbg(session->g, " "); |
57 | 57 | ||
58 | nvgpu_ref_put(&session->refcount, nvgpu_clk_arb_free_session); | 58 | nvgpu_ref_put(&session->refcount, nvgpu_clk_arb_free_session); |
59 | nvgpu_ref_put(&dev->refcount, nvgpu_clk_arb_free_fd); | 59 | nvgpu_ref_put(&dev->refcount, nvgpu_clk_arb_free_fd); |
@@ -82,7 +82,7 @@ static unsigned int nvgpu_clk_arb_poll_dev(struct file *filp, poll_table *wait) | |||
82 | { | 82 | { |
83 | struct nvgpu_clk_dev *dev = filp->private_data; | 83 | struct nvgpu_clk_dev *dev = filp->private_data; |
84 | 84 | ||
85 | nvgpu_log(dev->session->g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 85 | clk_arb_dbg(dev->session->g, " "); |
86 | 86 | ||
87 | poll_wait(filp, &dev->readout_wq.wq, wait); | 87 | poll_wait(filp, &dev->readout_wq.wq, wait); |
88 | return nvgpu_convert_poll_mask(nvgpu_atomic_xchg(&dev->poll_mask, 0)); | 88 | return nvgpu_convert_poll_mask(nvgpu_atomic_xchg(&dev->poll_mask, 0)); |
@@ -97,7 +97,7 @@ static int nvgpu_clk_arb_release_event_dev(struct inode *inode, | |||
97 | 97 | ||
98 | arb = session->g->clk_arb; | 98 | arb = session->g->clk_arb; |
99 | 99 | ||
100 | nvgpu_log(session->g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 100 | clk_arb_dbg(session->g, " "); |
101 | 101 | ||
102 | if (arb) { | 102 | if (arb) { |
103 | nvgpu_spinlock_acquire(&arb->users_lock); | 103 | nvgpu_spinlock_acquire(&arb->users_lock); |
@@ -180,7 +180,7 @@ static ssize_t nvgpu_clk_arb_read_event_dev(struct file *filp, char __user *buf, | |||
180 | struct nvgpu_gpu_event_info info; | 180 | struct nvgpu_gpu_event_info info; |
181 | ssize_t err; | 181 | ssize_t err; |
182 | 182 | ||
183 | nvgpu_log(dev->session->g, gpu_dbg_fn | gpu_dbg_clk_arb, | 183 | clk_arb_dbg(dev->session->g, |
184 | "filp=%p, buf=%p, size=%zu", filp, buf, size); | 184 | "filp=%p, buf=%p, size=%zu", filp, buf, size); |
185 | 185 | ||
186 | if ((size - *off) < sizeof(info)) | 186 | if ((size - *off) < sizeof(info)) |
@@ -296,7 +296,7 @@ static int nvgpu_clk_arb_install_fd(struct gk20a *g, | |||
296 | char name[64]; | 296 | char name[64]; |
297 | struct nvgpu_clk_dev *dev; | 297 | struct nvgpu_clk_dev *dev; |
298 | 298 | ||
299 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 299 | clk_arb_dbg(g, " "); |
300 | 300 | ||
301 | dev = nvgpu_kzalloc(g, sizeof(*dev)); | 301 | dev = nvgpu_kzalloc(g, sizeof(*dev)); |
302 | if (!dev) | 302 | if (!dev) |
@@ -352,7 +352,7 @@ int nvgpu_clk_arb_install_event_fd(struct gk20a *g, | |||
352 | struct nvgpu_clk_dev *dev; | 352 | struct nvgpu_clk_dev *dev; |
353 | int fd; | 353 | int fd; |
354 | 354 | ||
355 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 355 | clk_arb_dbg(g, " "); |
356 | 356 | ||
357 | fd = nvgpu_clk_arb_install_fd(g, session, &event_dev_ops, &dev); | 357 | fd = nvgpu_clk_arb_install_fd(g, session, &event_dev_ops, &dev); |
358 | if (fd < 0) | 358 | if (fd < 0) |
@@ -384,7 +384,7 @@ int nvgpu_clk_arb_install_request_fd(struct gk20a *g, | |||
384 | struct nvgpu_clk_dev *dev; | 384 | struct nvgpu_clk_dev *dev; |
385 | int fd; | 385 | int fd; |
386 | 386 | ||
387 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 387 | clk_arb_dbg(g, " "); |
388 | 388 | ||
389 | fd = nvgpu_clk_arb_install_fd(g, session, &completion_dev_ops, &dev); | 389 | fd = nvgpu_clk_arb_install_fd(g, session, &completion_dev_ops, &dev); |
390 | if (fd < 0) | 390 | if (fd < 0) |
@@ -403,7 +403,7 @@ int nvgpu_clk_arb_commit_request_fd(struct gk20a *g, | |||
403 | struct fd fd; | 403 | struct fd fd; |
404 | int err = 0; | 404 | int err = 0; |
405 | 405 | ||
406 | nvgpu_log(g, gpu_dbg_fn | gpu_dbg_clk_arb, " "); | 406 | clk_arb_dbg(g, " "); |
407 | 407 | ||
408 | fd = fdget(request_fd); | 408 | fd = fdget(request_fd); |
409 | if (!fd.file) | 409 | if (!fd.file) |
@@ -438,7 +438,7 @@ int nvgpu_clk_arb_set_session_target_mhz(struct nvgpu_clk_session *session, | |||
438 | struct fd fd; | 438 | struct fd fd; |
439 | int err = 0; | 439 | int err = 0; |
440 | 440 | ||
441 | nvgpu_log(session->g, gpu_dbg_fn | gpu_dbg_clk_arb, | 441 | clk_arb_dbg(session->g, |
442 | "domain=0x%08x target_mhz=%u", api_domain, target_mhz); | 442 | "domain=0x%08x target_mhz=%u", api_domain, target_mhz); |
443 | 443 | ||
444 | fd = fdget(request_fd); | 444 | fd = fdget(request_fd); |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/clk_arb.h b/drivers/gpu/nvgpu/include/nvgpu/clk_arb.h index c9a32cf1..06136c02 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/clk_arb.h +++ b/drivers/gpu/nvgpu/include/nvgpu/clk_arb.h | |||
@@ -102,6 +102,11 @@ struct nvgpu_clk_session; | |||
102 | #define NVGPU_POLLRDNORM (1 << 3) | 102 | #define NVGPU_POLLRDNORM (1 << 3) |
103 | #define NVGPU_POLLHUP (1 << 4) | 103 | #define NVGPU_POLLHUP (1 << 4) |
104 | 104 | ||
105 | #define clk_arb_dbg(g, fmt, args...) \ | ||
106 | do { \ | ||
107 | nvgpu_log(g, gpu_dbg_clk_arb, \ | ||
108 | fmt, ##args); \ | ||
109 | } while (0) | ||
105 | 110 | ||
106 | struct nvgpu_clk_notification { | 111 | struct nvgpu_clk_notification { |
107 | u32 notification; | 112 | u32 notification; |