summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c8
-rw-r--r--drivers/gpu/nvgpu/gm20b/hal_gm20b.c1
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c1
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c8
-rw-r--r--drivers/gpu/nvgpu/gp10b/hal_gp10b.c1
-rw-r--r--drivers/gpu/nvgpu/gv100/hal_gv100.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c1
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c1
11 files changed, 16 insertions, 10 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 2c98797d..f9b9c6e6 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -2229,7 +2229,7 @@ void gk20a_channel_semaphore_wakeup(struct gk20a *g, bool post_events)
2229 struct tsg_gk20a *tsg = 2229 struct tsg_gk20a *tsg =
2230 &g->fifo.tsg[c->tsgid]; 2230 &g->fifo.tsg[c->tsgid];
2231 2231
2232 gk20a_tsg_event_id_post_event(tsg, 2232 g->ops.fifo.post_event_id(tsg,
2233 NVGPU_EVENT_ID_BLOCKING_SYNC); 2233 NVGPU_EVENT_ID_BLOCKING_SYNC);
2234 } 2234 }
2235 } 2235 }
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index d9e3c97d..6f99b3f9 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -610,6 +610,7 @@ struct gpu_ops {
610 void (*deinit_eng_method_buffers)(struct gk20a *g, 610 void (*deinit_eng_method_buffers)(struct gk20a *g,
611 struct tsg_gk20a *tsg); 611 struct tsg_gk20a *tsg);
612 u32 (*get_preempt_timeout)(struct gk20a *g); 612 u32 (*get_preempt_timeout)(struct gk20a *g);
613 void (*post_event_id)(struct tsg_gk20a *tsg, int event_id);
613#ifdef CONFIG_TEGRA_GK20A_NVHOST 614#ifdef CONFIG_TEGRA_GK20A_NVHOST
614 int (*alloc_syncpt_buf)(struct channel_gk20a *c, 615 int (*alloc_syncpt_buf)(struct channel_gk20a *c,
615 u32 syncpt_id, struct nvgpu_mem *syncpt_buf); 616 u32 syncpt_id, struct nvgpu_mem *syncpt_buf);
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 8f263e67..c64900bd 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -5274,7 +5274,7 @@ static int gk20a_gr_handle_semaphore_pending(struct gk20a *g,
5274 struct channel_gk20a *ch = &f->channel[isr_data->chid]; 5274 struct channel_gk20a *ch = &f->channel[isr_data->chid];
5275 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid]; 5275 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid];
5276 5276
5277 gk20a_tsg_event_id_post_event(tsg, 5277 g->ops.fifo.post_event_id(tsg,
5278 NVGPU_EVENT_ID_GR_SEMAPHORE_WRITE_AWAKEN); 5278 NVGPU_EVENT_ID_GR_SEMAPHORE_WRITE_AWAKEN);
5279 5279
5280 nvgpu_cond_broadcast(&ch->semaphore_wq); 5280 nvgpu_cond_broadcast(&ch->semaphore_wq);
@@ -5818,14 +5818,12 @@ static int gk20a_gr_post_bpt_events(struct gk20a *g, struct channel_gk20a *ch,
5818 if (global_esr & gr_gpc0_tpc0_sm_hww_global_esr_bpt_int_pending_f()) { 5818 if (global_esr & gr_gpc0_tpc0_sm_hww_global_esr_bpt_int_pending_f()) {
5819 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid]; 5819 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid];
5820 5820
5821 gk20a_tsg_event_id_post_event(tsg, 5821 g->ops.fifo.post_event_id(tsg, NVGPU_EVENT_ID_BPT_INT);
5822 NVGPU_EVENT_ID_BPT_INT);
5823 } 5822 }
5824 if (global_esr & gr_gpc0_tpc0_sm_hww_global_esr_bpt_pause_pending_f()) { 5823 if (global_esr & gr_gpc0_tpc0_sm_hww_global_esr_bpt_pause_pending_f()) {
5825 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid]; 5824 struct tsg_gk20a *tsg = &g->fifo.tsg[ch->tsgid];
5826 5825
5827 gk20a_tsg_event_id_post_event(tsg, 5826 g->ops.fifo.post_event_id(tsg, NVGPU_EVENT_ID_BPT_PAUSE);
5828 NVGPU_EVENT_ID_BPT_PAUSE);
5829 } 5827 }
5830 5828
5831 return 0; 5829 return 0;
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index 2d53a926..e390e4dd 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -431,6 +431,7 @@ static const struct gpu_ops gm20b_ops = {
431 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1, 431 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1,
432 .tsg_bind_channel = gk20a_tsg_bind_channel, 432 .tsg_bind_channel = gk20a_tsg_bind_channel,
433 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel, 433 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
434 .post_event_id = gk20a_tsg_event_id_post_event,
434#ifdef CONFIG_TEGRA_GK20A_NVHOST 435#ifdef CONFIG_TEGRA_GK20A_NVHOST
435 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf, 436 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf,
436 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf, 437 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index a0068a6f..82ef0461 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -491,6 +491,7 @@ static const struct gpu_ops gp106_ops = {
491 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1, 491 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1,
492 .tsg_bind_channel = gk20a_tsg_bind_channel, 492 .tsg_bind_channel = gk20a_tsg_bind_channel,
493 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel, 493 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
494 .post_event_id = gk20a_tsg_event_id_post_event,
494#ifdef CONFIG_TEGRA_GK20A_NVHOST 495#ifdef CONFIG_TEGRA_GK20A_NVHOST
495 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf, 496 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf,
496 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf, 497 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index 17685f59..8cbda409 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -1814,8 +1814,8 @@ int gr_gp10b_set_cilp_preempt_pending(struct gk20a *g,
1814 1814
1815 tsg = &g->fifo.tsg[fault_ch->tsgid]; 1815 tsg = &g->fifo.tsg[fault_ch->tsgid];
1816 1816
1817 gk20a_tsg_event_id_post_event(tsg, 1817 g->ops.fifo.post_event_id(tsg,
1818 NVGPU_EVENT_ID_CILP_PREEMPTION_STARTED); 1818 NVGPU_EVENT_ID_CILP_PREEMPTION_STARTED);
1819 1819
1820 return 0; 1820 return 0;
1821} 1821}
@@ -2036,8 +2036,8 @@ int gr_gp10b_handle_fecs_error(struct gk20a *g,
2036 2036
2037 tsg = &g->fifo.tsg[ch->tsgid]; 2037 tsg = &g->fifo.tsg[ch->tsgid];
2038 2038
2039 gk20a_tsg_event_id_post_event(tsg, 2039 g->ops.fifo.post_event_id(tsg,
2040 NVGPU_EVENT_ID_CILP_PREEMPTION_COMPLETE); 2040 NVGPU_EVENT_ID_CILP_PREEMPTION_COMPLETE);
2041 2041
2042 gk20a_channel_put(ch); 2042 gk20a_channel_put(ch);
2043 } 2043 }
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
index 65fdf714..783dfcdd 100644
--- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
@@ -464,6 +464,7 @@ static const struct gpu_ops gp10b_ops = {
464 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1, 464 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1,
465 .tsg_bind_channel = gk20a_tsg_bind_channel, 465 .tsg_bind_channel = gk20a_tsg_bind_channel,
466 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel, 466 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
467 .post_event_id = gk20a_tsg_event_id_post_event,
467#ifdef CONFIG_TEGRA_GK20A_NVHOST 468#ifdef CONFIG_TEGRA_GK20A_NVHOST
468 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf, 469 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf,
469 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf, 470 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c
index 6598d7f6..677f2a89 100644
--- a/drivers/gpu/nvgpu/gv100/hal_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c
@@ -506,6 +506,7 @@ static const struct gpu_ops gv100_ops = {
506 gv11b_fifo_deinit_eng_method_buffers, 506 gv11b_fifo_deinit_eng_method_buffers,
507 .tsg_bind_channel = gk20a_tsg_bind_channel, 507 .tsg_bind_channel = gk20a_tsg_bind_channel,
508 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel, 508 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
509 .post_event_id = gk20a_tsg_event_id_post_event,
509#ifdef CONFIG_TEGRA_GK20A_NVHOST 510#ifdef CONFIG_TEGRA_GK20A_NVHOST
510 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf, 511 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf,
511 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf, 512 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 700dc7fc..d55d51ba 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -522,6 +522,7 @@ static const struct gpu_ops gv11b_ops = {
522 gv11b_fifo_deinit_eng_method_buffers, 522 gv11b_fifo_deinit_eng_method_buffers,
523 .tsg_bind_channel = gk20a_tsg_bind_channel, 523 .tsg_bind_channel = gk20a_tsg_bind_channel,
524 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel, 524 .tsg_unbind_channel = gk20a_fifo_tsg_unbind_channel,
525 .post_event_id = gk20a_tsg_event_id_post_event,
525#ifdef CONFIG_TEGRA_GK20A_NVHOST 526#ifdef CONFIG_TEGRA_GK20A_NVHOST
526 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf, 527 .alloc_syncpt_buf = gv11b_fifo_alloc_syncpt_buf,
527 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf, 528 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c
index f1ced1c8..bfdd0788 100644
--- a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c
+++ b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c
@@ -340,6 +340,7 @@ static const struct gpu_ops vgpu_gp10b_ops = {
340 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1, 340 .handle_pbdma_intr_1 = gk20a_fifo_handle_pbdma_intr_1,
341 .tsg_bind_channel = vgpu_tsg_bind_channel, 341 .tsg_bind_channel = vgpu_tsg_bind_channel,
342 .tsg_unbind_channel = vgpu_tsg_unbind_channel, 342 .tsg_unbind_channel = vgpu_tsg_unbind_channel,
343 .post_event_id = gk20a_tsg_event_id_post_event,
343#ifdef CONFIG_TEGRA_GK20A_NVHOST 344#ifdef CONFIG_TEGRA_GK20A_NVHOST
344 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf, 345 .alloc_syncpt_buf = gk20a_fifo_alloc_syncpt_buf,
345 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf, 346 .free_syncpt_buf = gk20a_fifo_free_syncpt_buf,
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
index 76f7b389..b4e03ecd 100644
--- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
@@ -383,6 +383,7 @@ static const struct gpu_ops vgpu_gv11b_ops = {
383 gv11b_fifo_deinit_eng_method_buffers, 383 gv11b_fifo_deinit_eng_method_buffers,
384 .tsg_bind_channel = vgpu_gv11b_tsg_bind_channel, 384 .tsg_bind_channel = vgpu_gv11b_tsg_bind_channel,
385 .tsg_unbind_channel = vgpu_tsg_unbind_channel, 385 .tsg_unbind_channel = vgpu_tsg_unbind_channel,
386 .post_event_id = gk20a_tsg_event_id_post_event,
386#ifdef CONFIG_TEGRA_GK20A_NVHOST 387#ifdef CONFIG_TEGRA_GK20A_NVHOST
387 .alloc_syncpt_buf = vgpu_gv11b_fifo_alloc_syncpt_buf, 388 .alloc_syncpt_buf = vgpu_gv11b_fifo_alloc_syncpt_buf,
388 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf, 389 .free_syncpt_buf = gv11b_fifo_free_syncpt_buf,