diff options
author | Lakshmanan M <lm@nvidia.com> | 2016-06-02 00:04:46 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-07 15:31:34 -0400 |
commit | 6299b00beb9dabdd53c211b02658d022827b3232 (patch) | |
tree | 941d8dd8aae8f7f8c73329e182984c36a5a9bf88 /drivers/gpu/nvgpu/gk20a/ce2_gk20a.c | |
parent | 3d7263d3cafdcfc57a6d6b9f829562845d116294 (diff) |
gpu: nvgpu: Add multiple engine and runlist support
This CL covers the following modification,
1) Added multiple engine_info support
2) Added multiple runlist_info support
3) Initial changes for ASYNC CE support
4) Added ASYNC CE interrupt handling support
for gm206 GPU family
5) Added generic mechanism to identify the
CE engine pri_base address for gm206
(CE0, CE1 and CE2)
6) Removed hard coded engine_id logic and
made generic way
7) Code cleanup for readability
JIRA DNVGPU-26
Change-Id: I2c3846c40bcc8d10c2dfb225caa4105fc9123b65
Signed-off-by: Lakshmanan M <lm@nvidia.com>
Reviewed-on: http://git-master/r/1155963
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ce2_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ce2_gk20a.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c index 00635c4d..96d38b11 100644 --- a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GK20A Graphics Copy Engine (gr host) | 2 | * GK20A Graphics Copy Engine (gr host) |
3 | * | 3 | * |
4 | * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -57,7 +57,7 @@ static u32 ce2_launcherr_isr(struct gk20a *g, u32 fifo_intr) | |||
57 | return ce2_intr_status_launcherr_pending_f(); | 57 | return ce2_intr_status_launcherr_pending_f(); |
58 | } | 58 | } |
59 | 59 | ||
60 | void gk20a_ce2_isr(struct gk20a *g) | 60 | void gk20a_ce2_isr(struct gk20a *g, u32 inst_id, u32 pri_base) |
61 | { | 61 | { |
62 | u32 ce2_intr = gk20a_readl(g, ce2_intr_status_r()); | 62 | u32 ce2_intr = gk20a_readl(g, ce2_intr_status_r()); |
63 | u32 clear_intr = 0; | 63 | u32 clear_intr = 0; |
@@ -75,7 +75,7 @@ void gk20a_ce2_isr(struct gk20a *g) | |||
75 | return; | 75 | return; |
76 | } | 76 | } |
77 | 77 | ||
78 | void gk20a_ce2_nonstall_isr(struct gk20a *g) | 78 | void gk20a_ce2_nonstall_isr(struct gk20a *g, u32 inst_id, u32 pri_base) |
79 | { | 79 | { |
80 | u32 ce2_intr = gk20a_readl(g, ce2_intr_status_r()); | 80 | u32 ce2_intr = gk20a_readl(g, ce2_intr_status_r()); |
81 | 81 | ||