From 768dc5ad42c927c0a272f7d14b9e3ac0378378a6 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 13 Jun 2016 09:01:50 -0700 Subject: gpu: nvgpu: Do not register debug dump to nvhost Do not register device for debug dump to nvhost. This can cause races if nvhost calls debug dump spew at the same time when GPU is being powered off. Bug 200198908 Bug 1770522 Change-Id: Ia7e57437d647041e82dd4c61ffd08fb1cbe1f32f Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1163441 GVS: Gerrit_Virtual_Submit Tested-by: Deepak Nibade Reviewed-by: Deepak Nibade Reviewed-by: Bharat Nihalani --- drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 19 ------------------- drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 9 --------- 2 files changed, 28 deletions(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c index a3fa2ea5..c02e9760 100644 --- a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c @@ -326,25 +326,6 @@ void gk20a_debug_dump(struct device *dev) g->ops.debug.show_dump(g, &o); } -void gk20a_debug_dump_device(void *data) -{ - struct gk20a_debug_output o = { - .fn = gk20a_debug_write_printk - }; - struct gk20a *g; - struct device *dev = data; - - /* In pre-silicon we don't need full spew on stuck syncpoint */ - if (!tegra_platform_is_silicon()) - return; - - g = gk20a_from_dev(dev); - /* HAL only initialized after 1st power-on */ - if (g->ops.debug.show_dump) - g->ops.debug.show_dump(g, &o); -} -EXPORT_SYMBOL(gk20a_debug_dump_device); - static int gk20a_debug_show(struct seq_file *s, void *unused) { struct device *dev = s->private; diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index 33937448..618b1716 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c @@ -746,10 +746,6 @@ static int gk20a_tegra_probe(struct device *dev) platform->g->host1x_dev = host1x_pdev; - if (platform->g->host1x_dev) - nvhost_register_dump_device(platform->g->host1x_dev, - gk20a_debug_dump_device, - platform->g->dev); #ifdef CONFIG_OF joint_xpu_rail = of_property_read_bool(of_chosen, "nvidia,tegra-joint_xpu_rail"); @@ -794,11 +790,6 @@ static int gk20a_tegra_late_probe(struct device *dev) static int gk20a_tegra_remove(struct device *dev) { - struct gk20a_platform *platform = dev_get_drvdata(dev); - - if (platform->g->host1x_dev) - nvhost_unregister_dump_device(platform->g->host1x_dev); - /* remove gk20a power subdomain from host1x */ nvhost_unregister_client_domain(dev_to_genpd(dev)); -- cgit v1.2.2