From 6299b00beb9dabdd53c211b02658d022827b3232 Mon Sep 17 00:00:00 2001 From: Lakshmanan M Date: Thu, 2 Jun 2016 09:34:46 +0530 Subject: 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 Reviewed-on: http://git-master/r/1155963 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/gk20a.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 3da19cc8..b7f3f6f1 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -90,6 +90,7 @@ enum nvgpu_litter_value { GPU_LIT_ROP_BASE, GPU_LIT_ROP_STRIDE, GPU_LIT_ROP_SHARED_BASE, + GPU_LIT_HOST_NUM_ENGINES, GPU_LIT_HOST_NUM_PBDMA, GPU_LIT_LTC_STRIDE, GPU_LIT_LTS_STRIDE, @@ -120,8 +121,8 @@ struct gpu_ops { void (*flush)(struct gk20a *g); } ltc; struct { - void (*isr_stall)(struct gk20a *g); - void (*isr_nonstall)(struct gk20a *g); + void (*isr_stall)(struct gk20a *g, u32 inst_id, u32 pri_base); + void (*isr_nonstall)(struct gk20a *g, u32 inst_id, u32 pri_base); } ce2; struct { int (*init_fs_state)(struct gk20a *g); @@ -350,6 +351,7 @@ struct gpu_ops { int (*tsg_bind_channel)(struct tsg_gk20a *tsg, struct channel_gk20a *ch); int (*tsg_unbind_channel)(struct channel_gk20a *ch); + u32 (*eng_runlist_base_size)(void); } fifo; struct pmu_v { /*used for change of enum zbc update cmd id from ver 0 to ver1*/ -- cgit v1.2.2