From 425f99335bfa13fa2af4e0865f61a4eb29fad6be Mon Sep 17 00:00:00 2001 From: Sami Kiminki Date: Tue, 15 Nov 2016 21:03:14 +0200 Subject: gpu: nvgpu: gk20a: Allow regops lists longer than 128 Process long regops lists in 4-kB fragments, overcoming the overly low limit of 128 reg ops per IOCTL call. Bump the list limit to 1024 and report the limit in GPU characteristics. Bug 200248726 Change-Id: I3ad49139409f32aea8b1226d6562e88edccc8053 Signed-off-by: Sami Kiminki Reviewed-on: http://git-master/r/1253716 (cherry picked from commit 22314619b28f52610cb8769cd4c3f9eb01904eab) Reviewed-on: http://git-master/r/1266652 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gk20a.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index e314d6cd..ca2f7b33 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -700,6 +700,8 @@ void gk20a_remove_support(struct device *dev) #ifdef CONFIG_TEGRA_COMMON tegra_unregister_idle_unidle(); #endif + if (g->dbg_regops_tmp_buf) + kfree(g->dbg_regops_tmp_buf); if (g->pmu.remove_support) g->pmu.remove_support(&g->pmu); @@ -2170,6 +2172,8 @@ int gk20a_init_gpu_characteristics(struct gk20a *g) gpu->pci_class = g->pci_class; gpu->pci_revision = g->pci_revision; + gpu->reg_ops_limit = 1024; + return 0; } -- cgit v1.2.2