diff options
author | Nitin Kumbhar <nkumbhar@nvidia.com> | 2018-09-17 05:48:28 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-18 13:34:41 -0400 |
commit | fbc5296e7d8a7eeceba9a904dd4736373c4c6d4e (patch) | |
tree | b382453159410f2f9fef0dabcbe292b44c97afd4 /drivers/gpu/nvgpu/os/linux/driver_common.c | |
parent | 1982d050cc8c90ef269476bec87778e8c3ade5f7 (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.c | 3 |
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); |