summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
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/include
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/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/gk20a.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
index 0230709c..1ca6be0d 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h
@@ -1446,8 +1446,7 @@ struct gk20a {
1446 unsigned int ch_wdt_timeout_ms; 1446 unsigned int ch_wdt_timeout_ms;
1447 u32 fifo_eng_timeout_us; 1447 u32 fifo_eng_timeout_us;
1448 1448
1449 struct nvgpu_mutex poweron_lock; 1449 struct nvgpu_mutex power_lock;
1450 struct nvgpu_mutex poweroff_lock;
1451 1450
1452 /* Channel priorities */ 1451 /* Channel priorities */
1453 u32 timeslice_low_priority_us; 1452 u32 timeslice_low_priority_us;