From 97aea977e25c17ecb44448eb19dc15e740036958 Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Tue, 20 Jun 2017 13:26:16 -0700 Subject: gpu: nvgpu: gp10b: functions made non-static gr_gp10b_handle_fecs_error and gr_gp10b_set_cilp_preempt_pending made non-static to be reused for t19x Bug 200289491 Change-Id: I8ef7ffab1209abc7f7d7d05cbbdf8ce4365613c5 Signed-off-by: Seema Khowala Reviewed-on: https://git-master/r/1505954 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 19 +++++++++++++------ drivers/gpu/nvgpu/gp10b/gr_gp10b.h | 6 ++++++ 2 files changed, 19 insertions(+), 6 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c index 64466936..384ca28d 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c @@ -1645,17 +1645,24 @@ static int gr_gp10b_disable_channel_or_tsg(struct gk20a *g, struct channel_gk20a gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, "CILP: restarted runlist"); - if (gk20a_is_channel_marked_as_tsg(fault_ch)) + gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, + "CILP: tsgid: 0x%x", fault_ch->tsgid); + + if (gk20a_is_channel_marked_as_tsg(fault_ch)) { gk20a_fifo_issue_preempt(g, fault_ch->tsgid, true); - else + gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, + "CILP: preempted tsg"); + } else { gk20a_fifo_issue_preempt(g, fault_ch->hw_chid, false); - - gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, "CILP: preempted the channel/tsg"); + gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, + "CILP: preempted channel"); + } return ret; } -static int gr_gp10b_set_cilp_preempt_pending(struct gk20a *g, struct channel_gk20a *fault_ch) +int gr_gp10b_set_cilp_preempt_pending(struct gk20a *g, + struct channel_gk20a *fault_ch) { int ret; struct gr_ctx_desc *gr_ctx = fault_ch->ch_ctx.gr_ctx; @@ -1888,7 +1895,7 @@ static int gr_gp10b_get_cilp_preempt_pending_chid(struct gk20a *g, int *__chid) return ret; } -static int gr_gp10b_handle_fecs_error(struct gk20a *g, +int gr_gp10b_handle_fecs_error(struct gk20a *g, struct channel_gk20a *__ch, struct gr_gk20a_isr_data *isr_data) { diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h index 81ec7927..76e48075 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h @@ -21,6 +21,7 @@ #include "gk20a/mm_gk20a.h" struct gpu_ops; +struct gr_gk20a_isr_data; enum { PASCAL_CHANNEL_GPFIFO_A = 0xC06F, @@ -44,6 +45,11 @@ int gr_gp10b_init_fs_state(struct gk20a *g); int gr_gp10b_alloc_buffer(struct vm_gk20a *vm, size_t size, struct nvgpu_mem *mem); void gr_gp10b_create_sysfs(struct device *dev); +int gr_gp10b_handle_fecs_error(struct gk20a *g, + struct channel_gk20a *__ch, + struct gr_gk20a_isr_data *isr_data); +int gr_gp10b_set_cilp_preempt_pending(struct gk20a *g, + struct channel_gk20a *fault_ch); struct gr_t18x { struct { -- cgit v1.2.2