mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: acquire platforms clocks on floorsweeping gpc
bpmp will floorsweep GPCs as per parameters to tpc_pg_mask sysfs. While doing that corresponding GPC clocks are also disabled. nvgpu should re-initialize the clocks every time the GPC/TPC pg_masks are passed to bpmp mrq. Also print error when clk_prepare_enable fails. Introduce platform->clks_lock to protect access to platform->clks and platform->num_clks done from unrailgate/railgate and bpmp mrq set calls from sysfs. Acquire static_pg_lock in railgate path to synchronize railgate with sysfs. Bug 3688506 Change-Id: I3203d78b87289e7a847d78b3117e2d3119be3425 Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2738920 Reviewed-by: Amulya Yarlagadda <ayarlagadda@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
96292d688b
commit
28ddb0996f
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* GK20A Platform (SoC) Interface
|
||||
*
|
||||
* Copyright (c) 2014-2021, NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -333,6 +333,9 @@ struct gk20a_platform {
|
||||
|
||||
/* synchronized access to platform->clk_get_freqs */
|
||||
struct nvgpu_mutex clk_get_freq_lock;
|
||||
|
||||
/* synchronized access to platform->clks */
|
||||
struct nvgpu_mutex clks_lock;
|
||||
};
|
||||
|
||||
static inline struct gk20a_platform *gk20a_get_platform(
|
||||
|
||||
Reference in New Issue
Block a user