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/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c4
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h2
3 files changed, 6 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__*/