mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: Reduce CCM for channel function
Reduce CCM for nvgpu_channel_suspend_all_serviceable_ch by early
calling channel.unbind
nvgpu_channel_suspend_all_serviceable_ch:
Previous MCC TCC | Current MCC TCC
11 11 | 8 8
Jira NVGPU-4063
Change-Id: If701c7d83cbde31a19bbc19866962322c58c370d
Signed-off-by: Debarshi Dutta <ddutta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2201486
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: Deepak Nibade <dnibade@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
3f998c74f5
commit
d7ae490dff
@@ -2567,6 +2567,8 @@ int nvgpu_channel_suspend_all_serviceable_ch(struct gk20a *g)
|
||||
g->os_channel.work_completion_cancel_sync(ch);
|
||||
}
|
||||
|
||||
g->ops.channel.unbind(ch);
|
||||
|
||||
channels_in_use = true;
|
||||
|
||||
active_runlist_ids |= BIT32(ch->runlist_id);
|
||||
@@ -2578,22 +2580,6 @@ int nvgpu_channel_suspend_all_serviceable_ch(struct gk20a *g)
|
||||
if (channels_in_use) {
|
||||
nvgpu_assert(nvgpu_runlist_reload_ids(g,
|
||||
active_runlist_ids, false) == 0);
|
||||
|
||||
for (chid = 0; chid < f->num_channels; chid++) {
|
||||
struct nvgpu_channel *ch =
|
||||
nvgpu_channel_from_id(g, chid);
|
||||
|
||||
if (ch != NULL) {
|
||||
if (nvgpu_channel_check_unserviceable(ch)) {
|
||||
nvgpu_log_info(g, "do not unbind "
|
||||
"recovered channel %d",
|
||||
chid);
|
||||
} else {
|
||||
g->ops.channel.unbind(ch);
|
||||
}
|
||||
nvgpu_channel_put(ch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nvgpu_log_fn(g, "done");
|
||||
|
||||
Reference in New Issue
Block a user