diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2017-06-30 02:12:17 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-07-04 02:44:30 -0400 |
commit | 2cf964d175abc0f3eae9ed0e01e6eeed5cd6b4da (patch) | |
tree | dc91c30fdfcf4ee37ff830dcffc7b15c8b5add14 /drivers/gpu/nvgpu/gm206 | |
parent | fbeca4a8414c03a1564d7a370964187be51a3e6c (diff) |
gpu: nvgpu: Falcon controller halt interrupt status clear
- Added nvgpu_flcn_clear_halt_intr_status() to
Wait for halt interrupt status clear by
clear_halt_interrupt_status() HAL within timeout
- Added gk20a_flcn_clear_halt_interrupt_status()
to clear falcon controller halt interrupt status
- Replaced flacon halt interrupt clear with
nvgpu_flcn_clear_halt_intr_status() method
NVGPU JIRA-99
Change-Id: I762a3c01cd1d02028eb6aaa9898a50be94376619
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
Reviewed-on: https://git-master/r/1511333
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm206')
-rw-r--r-- | drivers/gpu/nvgpu/gm206/bios_gm206.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c index 7aec21e7..be089f2f 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.c +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c | |||
@@ -154,9 +154,8 @@ static int gm206_bios_devinit(struct gk20a *g) | |||
154 | if (nvgpu_timeout_peek_expired(&timeout)) | 154 | if (nvgpu_timeout_peek_expired(&timeout)) |
155 | err = -ETIMEDOUT; | 155 | err = -ETIMEDOUT; |
156 | 156 | ||
157 | gk20a_writel(g, pwr_falcon_irqsclr_r(), | 157 | nvgpu_flcn_clear_halt_intr_status(g->pmu.flcn, |
158 | pwr_falcon_irqstat_halt_true_f()); | 158 | gk20a_get_gr_idle_timeout(g)); |
159 | gk20a_readl(g, pwr_falcon_irqsclr_r()); | ||
160 | 159 | ||
161 | out: | 160 | out: |
162 | gk20a_dbg_fn("done"); | 161 | gk20a_dbg_fn("done"); |
@@ -200,9 +199,8 @@ static int gm206_bios_preos(struct gk20a *g) | |||
200 | goto out; | 199 | goto out; |
201 | } | 200 | } |
202 | 201 | ||
203 | gk20a_writel(g, pwr_falcon_irqsclr_r(), | 202 | nvgpu_flcn_clear_halt_intr_status(g->pmu.flcn, |
204 | pwr_falcon_irqstat_halt_true_f()); | 203 | gk20a_get_gr_idle_timeout(g)); |
205 | gk20a_readl(g, pwr_falcon_irqsclr_r()); | ||
206 | 204 | ||
207 | out: | 205 | out: |
208 | gk20a_dbg_fn("done"); | 206 | gk20a_dbg_fn("done"); |