summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-08-04 12:49:48 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-04 16:44:19 -0400
commit192cf8c1f8d1005ab08619c9152d514dec3a34ef (patch)
tree3fe7f7fb3e6d58b230cc7521b2af2c30e6ec3757
parent2e07e0633081a838f139fac0565366383f7302c4 (diff)
gpu: nvgpu: Pass struct gk20a to gk20a_wait_for_idle()
Pass struct gk20a pointer instead of struct device to gk20a_wait_for_idle(). The code is not Linux specific and does not need pointer to struct device. Change-Id: I2cafd6c7db019c9de76b6e68a1ae73f0b4cea37d Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1533173 GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/module.c4
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c3
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
3 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c
index cbfe6ad7..bfbe7a58 100644
--- a/drivers/gpu/nvgpu/common/linux/module.c
+++ b/drivers/gpu/nvgpu/common/linux/module.c
@@ -659,7 +659,7 @@ static void gk20a_pm_shutdown(struct platform_device *pdev)
659 /* Prevent more requests by disabling Runtime PM */ 659 /* Prevent more requests by disabling Runtime PM */
660 __pm_runtime_disable(&pdev->dev, false); 660 __pm_runtime_disable(&pdev->dev, false);
661 661
662 err = gk20a_wait_for_idle(&pdev->dev); 662 err = gk20a_wait_for_idle(g);
663 if (err) { 663 if (err) {
664 nvgpu_err(g, "failed to idle GPU, err=%d", err); 664 nvgpu_err(g, "failed to idle GPU, err=%d", err);
665 goto finish; 665 goto finish;
@@ -844,7 +844,7 @@ void gk20a_driver_start_unload(struct gk20a *g)
844 if (g->is_virtual) 844 if (g->is_virtual)
845 return; 845 return;
846 846
847 gk20a_wait_for_idle(dev_from_gk20a(g)); 847 gk20a_wait_for_idle(g);
848 848
849 nvgpu_wait_for_deferred_interrupts(g); 849 nvgpu_wait_for_deferred_interrupts(g);
850 gk20a_channel_cancel_pending_sema_waits(g); 850 gk20a_channel_cancel_pending_sema_waits(g);
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 7bd6acfd..c50d800f 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -362,9 +362,8 @@ int gk20a_can_busy(struct gk20a *g)
362 return 1; 362 return 1;
363} 363}
364 364
365int gk20a_wait_for_idle(struct device *dev) 365int gk20a_wait_for_idle(struct gk20a *g)
366{ 366{
367 struct gk20a *g = get_gk20a(dev);
368 int wait_length = 150; /* 3 second overall max wait. */ 367 int wait_length = 150; /* 3 second overall max wait. */
369 int target_usage_count = 0; 368 int target_usage_count = 0;
370 369
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index aeba1fcd..4517f6e0 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -1455,7 +1455,7 @@ int __gk20a_do_idle(struct gk20a *g, bool force_reset);
1455int __gk20a_do_unidle(struct gk20a *g); 1455int __gk20a_do_unidle(struct gk20a *g);
1456 1456
1457int gk20a_can_busy(struct gk20a *g); 1457int gk20a_can_busy(struct gk20a *g);
1458int gk20a_wait_for_idle(struct device *dev); 1458int gk20a_wait_for_idle(struct gk20a *g);
1459 1459
1460#define NVGPU_GPU_ARCHITECTURE_SHIFT 4 1460#define NVGPU_GPU_ARCHITECTURE_SHIFT 4
1461 1461