diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 6abc7d41..b37ae8cd 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5113,7 +5113,7 @@ int gk20a_gr_reset(struct gk20a *g) | |||
5113 | return err; | 5113 | return err; |
5114 | } | 5114 | } |
5115 | 5115 | ||
5116 | static void gk20a_gr_set_error_notifier(struct gk20a *g, | 5116 | void gk20a_gr_set_error_notifier(struct gk20a *g, |
5117 | struct gr_gk20a_isr_data *isr_data, u32 error_notifier) | 5117 | struct gr_gk20a_isr_data *isr_data, u32 error_notifier) |
5118 | { | 5118 | { |
5119 | struct fifo_gk20a *f = &g->fifo; | 5119 | struct fifo_gk20a *f = &g->fifo; |
@@ -5146,7 +5146,7 @@ static int gk20a_gr_handle_semaphore_timeout_pending(struct gk20a *g, | |||
5146 | struct gr_gk20a_isr_data *isr_data) | 5146 | struct gr_gk20a_isr_data *isr_data) |
5147 | { | 5147 | { |
5148 | gk20a_dbg_fn(""); | 5148 | gk20a_dbg_fn(""); |
5149 | gk20a_gr_set_error_notifier(g, isr_data, | 5149 | g->ops.gr.set_error_notifier(g, isr_data, |
5150 | NVGPU_ERR_NOTIFIER_GR_SEMAPHORE_TIMEOUT); | 5150 | NVGPU_ERR_NOTIFIER_GR_SEMAPHORE_TIMEOUT); |
5151 | nvgpu_err(g, | 5151 | nvgpu_err(g, |
5152 | "gr semaphore timeout"); | 5152 | "gr semaphore timeout"); |
@@ -5157,7 +5157,7 @@ static int gk20a_gr_intr_illegal_notify_pending(struct gk20a *g, | |||
5157 | struct gr_gk20a_isr_data *isr_data) | 5157 | struct gr_gk20a_isr_data *isr_data) |
5158 | { | 5158 | { |
5159 | gk20a_dbg_fn(""); | 5159 | gk20a_dbg_fn(""); |
5160 | gk20a_gr_set_error_notifier(g, isr_data, | 5160 | g->ops.gr.set_error_notifier(g, isr_data, |
5161 | NVGPU_ERR_NOTIFIER_GR_ILLEGAL_NOTIFY); | 5161 | NVGPU_ERR_NOTIFIER_GR_ILLEGAL_NOTIFY); |
5162 | /* This is an unrecoverable error, reset is needed */ | 5162 | /* This is an unrecoverable error, reset is needed */ |
5163 | nvgpu_err(g, | 5163 | nvgpu_err(g, |
@@ -5172,7 +5172,7 @@ static int gk20a_gr_handle_illegal_method(struct gk20a *g, | |||
5172 | isr_data->class_num, isr_data->offset, | 5172 | isr_data->class_num, isr_data->offset, |
5173 | isr_data->data_lo); | 5173 | isr_data->data_lo); |
5174 | if (ret) { | 5174 | if (ret) { |
5175 | gk20a_gr_set_error_notifier(g, isr_data, | 5175 | g->ops.gr.set_error_notifier(g, isr_data, |
5176 | NVGPU_ERR_NOTIFIER_GR_ILLEGAL_NOTIFY); | 5176 | NVGPU_ERR_NOTIFIER_GR_ILLEGAL_NOTIFY); |
5177 | nvgpu_err(g, "invalid method class 0x%08x" | 5177 | nvgpu_err(g, "invalid method class 0x%08x" |
5178 | ", offset 0x%08x address 0x%08x", | 5178 | ", offset 0x%08x address 0x%08x", |
@@ -5185,7 +5185,7 @@ static int gk20a_gr_handle_illegal_class(struct gk20a *g, | |||
5185 | struct gr_gk20a_isr_data *isr_data) | 5185 | struct gr_gk20a_isr_data *isr_data) |
5186 | { | 5186 | { |
5187 | gk20a_dbg_fn(""); | 5187 | gk20a_dbg_fn(""); |
5188 | gk20a_gr_set_error_notifier(g, isr_data, | 5188 | g->ops.gr.set_error_notifier(g, isr_data, |
5189 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); | 5189 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); |
5190 | nvgpu_err(g, | 5190 | nvgpu_err(g, |
5191 | "invalid class 0x%08x, offset 0x%08x", | 5191 | "invalid class 0x%08x, offset 0x%08x", |
@@ -5203,7 +5203,7 @@ int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch, | |||
5203 | return 0; | 5203 | return 0; |
5204 | 5204 | ||
5205 | if (gr_fecs_intr & gr_fecs_host_int_status_umimp_firmware_method_f(1)) { | 5205 | if (gr_fecs_intr & gr_fecs_host_int_status_umimp_firmware_method_f(1)) { |
5206 | gk20a_gr_set_error_notifier(g, isr_data, | 5206 | g->ops.gr.set_error_notifier(g, isr_data, |
5207 | NVGPU_ERR_NOTIFIER_FECS_ERR_UNIMP_FIRMWARE_METHOD); | 5207 | NVGPU_ERR_NOTIFIER_FECS_ERR_UNIMP_FIRMWARE_METHOD); |
5208 | nvgpu_err(g, | 5208 | nvgpu_err(g, |
5209 | "firmware method error 0x%08x for offset 0x%04x", | 5209 | "firmware method error 0x%08x for offset 0x%04x", |
@@ -5229,7 +5229,7 @@ static int gk20a_gr_handle_class_error(struct gk20a *g, | |||
5229 | 5229 | ||
5230 | gr_class_error = | 5230 | gr_class_error = |
5231 | gr_class_error_code_v(gk20a_readl(g, gr_class_error_r())); | 5231 | gr_class_error_code_v(gk20a_readl(g, gr_class_error_r())); |
5232 | gk20a_gr_set_error_notifier(g, isr_data, | 5232 | g->ops.gr.set_error_notifier(g, isr_data, |
5233 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); | 5233 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); |
5234 | nvgpu_err(g, "class error 0x%08x, offset 0x%08x," | 5234 | nvgpu_err(g, "class error 0x%08x, offset 0x%08x," |
5235 | "sub channel 0x%08x mme generated %d," | 5235 | "sub channel 0x%08x mme generated %d," |
@@ -5258,7 +5258,7 @@ static int gk20a_gr_handle_firmware_method(struct gk20a *g, | |||
5258 | { | 5258 | { |
5259 | gk20a_dbg_fn(""); | 5259 | gk20a_dbg_fn(""); |
5260 | 5260 | ||
5261 | gk20a_gr_set_error_notifier(g, isr_data, | 5261 | g->ops.gr.set_error_notifier(g, isr_data, |
5262 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); | 5262 | NVGPU_ERR_NOTIFIER_GR_ERROR_SW_NOTIFY); |
5263 | nvgpu_err(g, | 5263 | nvgpu_err(g, |
5264 | "firmware method 0x%08x, offset 0x%08x for channel %u", | 5264 | "firmware method 0x%08x, offset 0x%08x for channel %u", |
@@ -6064,7 +6064,7 @@ int gk20a_gr_isr(struct gk20a *g) | |||
6064 | 6064 | ||
6065 | if (need_reset) { | 6065 | if (need_reset) { |
6066 | nvgpu_err(g, "set gr exception notifier"); | 6066 | nvgpu_err(g, "set gr exception notifier"); |
6067 | gk20a_gr_set_error_notifier(g, &isr_data, | 6067 | g->ops.gr.set_error_notifier(g, &isr_data, |
6068 | NVGPU_ERR_NOTIFIER_GR_EXCEPTION); | 6068 | NVGPU_ERR_NOTIFIER_GR_EXCEPTION); |
6069 | } | 6069 | } |
6070 | } | 6070 | } |