summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os/linux/driver_common.c
diff options
context:
space:
mode:
authorNitin Kumbhar <nkumbhar@nvidia.com>2018-09-17 05:48:28 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-18 13:34:41 -0400
commitfbc5296e7d8a7eeceba9a904dd4736373c4c6d4e (patch)
treeb382453159410f2f9fef0dabcbe292b44c97afd4 /drivers/gpu/nvgpu/os/linux/driver_common.c
parent1982d050cc8c90ef269476bec87778e8c3ade5f7 (diff)
gpu: nvgpu: use single lock for gpu power on-off
Using two separate locks (poweron_lock and poweroff_lock) allows concurrent gpu power-on and power-off. This shall not happen as driver won't be able to maintain correct gpu state. Use a single power_lock to manage gpu power state. This lock will be used to manage gpu power state from multiple triggers like gpu idle, gpu gc-off, etc. JIRA NVGPU-1100 Change-Id: Ia9b4aeda024a5844ae9f182d453cd6341876680a Signed-off-by: Nitin Kumbhar <nkumbhar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1827812 Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> Reviewed-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/driver_common.c')
-rw-r--r--drivers/gpu/nvgpu/os/linux/driver_common.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/driver_common.c b/drivers/gpu/nvgpu/os/linux/driver_common.c
index 6375030b..ebd0b40b 100644
--- a/drivers/gpu/nvgpu/os/linux/driver_common.c
+++ b/drivers/gpu/nvgpu/os/linux/driver_common.c
@@ -61,8 +61,7 @@ static void nvgpu_init_vars(struct gk20a *g)
61 nvgpu_mutex_init(&platform->railgate_lock); 61 nvgpu_mutex_init(&platform->railgate_lock);
62 nvgpu_mutex_init(&g->dbg_sessions_lock); 62 nvgpu_mutex_init(&g->dbg_sessions_lock);
63 nvgpu_mutex_init(&g->client_lock); 63 nvgpu_mutex_init(&g->client_lock);
64 nvgpu_mutex_init(&g->poweron_lock); 64 nvgpu_mutex_init(&g->power_lock);
65 nvgpu_mutex_init(&g->poweroff_lock);
66 nvgpu_mutex_init(&g->ctxsw_disable_lock); 65 nvgpu_mutex_init(&g->ctxsw_disable_lock);
67 nvgpu_mutex_init(&g->tpc_pg_lock); 66 nvgpu_mutex_init(&g->tpc_pg_lock);
68 nvgpu_mutex_init(&g->clk_arb_enable_lock); 67 nvgpu_mutex_init(&g->clk_arb_enable_lock);