summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c4
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h2
-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/hal_gp10b.c1
-rw-r--r--drivers/gpu/nvgpu/gv100/hal_gv100.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c1
8 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 84392025..d9e3c97d 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -445,6 +445,8 @@ struct gpu_ops {
445 int (*handle_ssync_hww)(struct gk20a *g); 445 int (*handle_ssync_hww)(struct gk20a *g);
446 void (*set_error_notifier)(struct gk20a *g, 446 void (*set_error_notifier)(struct gk20a *g,
447 struct gr_gk20a_isr_data *isr_data, u32 error_notifier); 447 struct gr_gk20a_isr_data *isr_data, u32 error_notifier);
448 int (*handle_notify_pending)(struct gk20a *g,
449 struct gr_gk20a_isr_data *isr_data);
448 } gr; 450 } gr;
449 struct { 451 struct {
450 void (*init_hw)(struct gk20a *g); 452 void (*init_hw)(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index b37ae8cd..8f263e67 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -5302,7 +5302,7 @@ static inline bool is_valid_cyclestats_bar0_offset_gk20a(struct gk20a *g,
5302} 5302}
5303#endif 5303#endif
5304 5304
5305static int gk20a_gr_handle_notify_pending(struct gk20a *g, 5305int gk20a_gr_handle_notify_pending(struct gk20a *g,
5306 struct gr_gk20a_isr_data *isr_data) 5306 struct gr_gk20a_isr_data *isr_data)
5307{ 5307{
5308 struct fifo_gk20a *f = &g->fifo; 5308 struct fifo_gk20a *f = &g->fifo;
@@ -5891,7 +5891,7 @@ int gk20a_gr_isr(struct gk20a *g)
5891 isr_data.sub_chan, isr_data.class_num); 5891 isr_data.sub_chan, isr_data.class_num);
5892 5892
5893 if (gr_intr & gr_intr_notify_pending_f()) { 5893 if (gr_intr & gr_intr_notify_pending_f()) {
5894 gk20a_gr_handle_notify_pending(g, &isr_data); 5894 g->ops.gr.handle_notify_pending(g, &isr_data);
5895 gk20a_writel(g, gr_intr_r(), 5895 gk20a_writel(g, gr_intr_r(),
5896 gr_intr_notify_reset_f()); 5896 gr_intr_notify_reset_f());
5897 gr_intr &= ~gr_intr_notify_pending_f(); 5897 gr_intr &= ~gr_intr_notify_pending_f();
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
index d1ba6353..1bf58f5c 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
@@ -800,4 +800,6 @@ void gk20a_gr_init_ctxsw_hdr_data(struct gk20a *g,
800u32 gr_gk20a_get_patch_slots(struct gk20a *g); 800u32 gr_gk20a_get_patch_slots(struct gk20a *g);
801void gk20a_gr_set_error_notifier(struct gk20a *g, 801void gk20a_gr_set_error_notifier(struct gk20a *g,
802 struct gr_gk20a_isr_data *isr_data, u32 error_notifier); 802 struct gr_gk20a_isr_data *isr_data, u32 error_notifier);
803int gk20a_gr_handle_notify_pending(struct gk20a *g,
804 struct gr_gk20a_isr_data *isr_data);
803#endif /*__GR_GK20A_H__*/ 805#endif /*__GR_GK20A_H__*/
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index 7425dc37..2d53a926 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -312,6 +312,7 @@ static const struct gpu_ops gm20b_ops = {
312 .init_ctxsw_hdr_data = gk20a_gr_init_ctxsw_hdr_data, 312 .init_ctxsw_hdr_data = gk20a_gr_init_ctxsw_hdr_data,
313 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable, 313 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable,
314 .set_error_notifier = gk20a_gr_set_error_notifier, 314 .set_error_notifier = gk20a_gr_set_error_notifier,
315 .handle_notify_pending = gk20a_gr_handle_notify_pending,
315 }, 316 },
316 .fb = { 317 .fb = {
317 .reset = fb_gk20a_reset, 318 .reset = fb_gk20a_reset,
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 2fa8359e..a0068a6f 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -374,6 +374,7 @@ static const struct gpu_ops gp106_ops = {
374 .load_ctxsw_ucode = gr_gm20b_load_ctxsw_ucode, 374 .load_ctxsw_ucode = gr_gm20b_load_ctxsw_ucode,
375 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable, 375 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable,
376 .set_error_notifier = gk20a_gr_set_error_notifier, 376 .set_error_notifier = gk20a_gr_set_error_notifier,
377 .handle_notify_pending = gk20a_gr_handle_notify_pending,
377 }, 378 },
378 .fb = { 379 .fb = {
379 .reset = gp106_fb_reset, 380 .reset = gp106_fb_reset,
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
index 38facd97..65fdf714 100644
--- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
@@ -342,6 +342,7 @@ static const struct gpu_ops gp10b_ops = {
342 .dump_ctxsw_stats = gr_gp10b_dump_ctxsw_stats, 342 .dump_ctxsw_stats = gr_gp10b_dump_ctxsw_stats,
343 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable, 343 .fecs_host_int_enable = gr_gk20a_fecs_host_int_enable,
344 .set_error_notifier = gk20a_gr_set_error_notifier, 344 .set_error_notifier = gk20a_gr_set_error_notifier,
345 .handle_notify_pending = gk20a_gr_handle_notify_pending,
345 }, 346 },
346 .fb = { 347 .fb = {
347 .reset = fb_gk20a_reset, 348 .reset = fb_gk20a_reset,
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c
index 449c3f9c..6598d7f6 100644
--- a/drivers/gpu/nvgpu/gv100/hal_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c
@@ -427,6 +427,7 @@ static const struct gpu_ops gv100_ops = {
427 .fecs_host_int_enable = gr_gv11b_fecs_host_int_enable, 427 .fecs_host_int_enable = gr_gv11b_fecs_host_int_enable,
428 .handle_ssync_hww = gr_gv11b_handle_ssync_hww, 428 .handle_ssync_hww = gr_gv11b_handle_ssync_hww,
429 .set_error_notifier = gk20a_gr_set_error_notifier, 429 .set_error_notifier = gk20a_gr_set_error_notifier,
430 .handle_notify_pending = gk20a_gr_handle_notify_pending,
430 }, 431 },
431 .fb = { 432 .fb = {
432 .reset = gv100_fb_reset, 433 .reset = gv100_fb_reset,
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 7ae8898b..700dc7fc 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -394,6 +394,7 @@ static const struct gpu_ops gv11b_ops = {
394 .fecs_host_int_enable = gr_gv11b_fecs_host_int_enable, 394 .fecs_host_int_enable = gr_gv11b_fecs_host_int_enable,
395 .handle_ssync_hww = gr_gv11b_handle_ssync_hww, 395 .handle_ssync_hww = gr_gv11b_handle_ssync_hww,
396 .set_error_notifier = gk20a_gr_set_error_notifier, 396 .set_error_notifier = gk20a_gr_set_error_notifier,
397 .handle_notify_pending = gk20a_gr_handle_notify_pending,
397 }, 398 },
398 .fb = { 399 .fb = {
399 .reset = gv11b_fb_reset, 400 .reset = gv11b_fb_reset,