From c54ebdd78a4a7185f5f0e7a7bcf4026c036c10a9 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Wed, 26 Aug 2015 16:00:19 -0700 Subject: gpu: nvgpu: gp10b: Implement NVC0_SET_GO_IDLE_TIMEOUT Bug 1678603 Change-Id: Ib8fb09dace864567b1ce574c216a584831723684 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/790402 Reviewed-on: http://git-master/r/806185 --- drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 8 ++++++++ drivers/gpu/nvgpu/gp10b/gr_gp10b.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c index 1942b1e7..7d9f5f47 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c @@ -284,6 +284,11 @@ static int gr_gp10b_calc_global_ctx_buffer_size(struct gk20a *g) return size; } +static void gr_gp10b_set_go_idle_timeout(struct gk20a *g, u32 data) +{ + gk20a_writel(g, gr_fe_go_idle_timeout_r(), data); +} + static int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr, u32 class_num, u32 offset, u32 data) { @@ -310,6 +315,9 @@ static int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr, case NVC097_SET_ALPHA_CIRCULAR_BUFFER_SIZE: g->ops.gr.set_alpha_circular_buffer_size(g, data); break; + case NVC097_SET_GO_IDLE_TIMEOUT: + gr_gp10b_set_go_idle_timeout(g, data); + break; default: goto fail; } diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h index 1b99cafb..302ea197 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h @@ -28,6 +28,7 @@ enum { #define NVC097_SET_ALPHA_CIRCULAR_BUFFER_SIZE 0x02dc #define NVC097_SET_CIRCULAR_BUFFER_SIZE 0x1280 #define NVC097_SET_SHADER_EXCEPTIONS 0x1528 +#define NVC097_SET_GO_IDLE_TIMEOUT 0x152c #define NVC0C0_SET_SHADER_EXCEPTIONS 0x1528 void gp10b_init_gr(struct gpu_ops *ops); -- cgit v1.2.2