diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 2 |
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 | ||
5305 | static int gk20a_gr_handle_notify_pending(struct gk20a *g, | 5305 | int 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, | |||
800 | u32 gr_gk20a_get_patch_slots(struct gk20a *g); | 800 | u32 gr_gk20a_get_patch_slots(struct gk20a *g); |
801 | void gk20a_gr_set_error_notifier(struct gk20a *g, | 801 | void 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); |
803 | int 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__*/ |