mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: address CCM for nvgpu_cg_init_gr_load_gating_prod
Reduced TCC/MCC below 10 by splitting into BLCG and SLPC load gating prod functions. JIRA NVGPU-4101 Change-Id: Ic572e1fe4dd6a3a1edf13d77ddadf08ea2214f74 Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2205216 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
ec293030c1
commit
ba5d129cfc
@@ -240,16 +240,8 @@ done:
|
||||
nvgpu_mutex_release(&g->cg_pg_lock);
|
||||
}
|
||||
|
||||
void nvgpu_cg_init_gr_load_gating_prod(struct gk20a *g)
|
||||
static void cg_init_gr_slcg_load_gating_prod(struct gk20a *g)
|
||||
{
|
||||
nvgpu_log_fn(g, " ");
|
||||
|
||||
nvgpu_mutex_acquire(&g->cg_pg_lock);
|
||||
|
||||
if (!g->slcg_enabled) {
|
||||
goto check_can_blcg;
|
||||
}
|
||||
|
||||
if (g->ops.cg.slcg_bus_load_gating_prod != NULL) {
|
||||
g->ops.cg.slcg_bus_load_gating_prod(g, true);
|
||||
}
|
||||
@@ -272,11 +264,10 @@ void nvgpu_cg_init_gr_load_gating_prod(struct gk20a *g)
|
||||
if (g->ops.cg.slcg_hshub_load_gating_prod != NULL) {
|
||||
g->ops.cg.slcg_hshub_load_gating_prod(g, true);
|
||||
}
|
||||
}
|
||||
|
||||
check_can_blcg:
|
||||
if (!g->blcg_enabled) {
|
||||
goto pg_gr_load;
|
||||
}
|
||||
static void cg_init_gr_blcg_load_gating_prod(struct gk20a *g)
|
||||
{
|
||||
if (g->ops.cg.blcg_bus_load_gating_prod != NULL) {
|
||||
g->ops.cg.blcg_bus_load_gating_prod(g, true);
|
||||
}
|
||||
@@ -293,6 +284,27 @@ check_can_blcg:
|
||||
if (g->ops.cg.blcg_hshub_load_gating_prod != NULL) {
|
||||
g->ops.cg.blcg_hshub_load_gating_prod(g, true);
|
||||
}
|
||||
}
|
||||
|
||||
void nvgpu_cg_init_gr_load_gating_prod(struct gk20a *g)
|
||||
{
|
||||
nvgpu_log_fn(g, " ");
|
||||
|
||||
nvgpu_mutex_acquire(&g->cg_pg_lock);
|
||||
|
||||
if (!g->slcg_enabled) {
|
||||
goto check_can_blcg;
|
||||
}
|
||||
|
||||
cg_init_gr_slcg_load_gating_prod(g);
|
||||
|
||||
check_can_blcg:
|
||||
if (!g->blcg_enabled) {
|
||||
goto pg_gr_load;
|
||||
}
|
||||
|
||||
cg_init_gr_blcg_load_gating_prod(g);
|
||||
|
||||
pg_gr_load:
|
||||
if (g->ops.cg.pg_gr_load_gating_prod != NULL) {
|
||||
g->ops.cg.pg_gr_load_gating_prod(g, true);
|
||||
|
||||
Reference in New Issue
Block a user