tegra: soc_hwpm: update soc_hwpm_release logic

Update soc_hwpm IP release logic to invoke hwpm_ip_pm only for reserved
perfmons.

Bug 3333031
Bug 3333042

Change-Id: I78ab369b0803de4ca326603fd97b21ea157c2eae
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2614689
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Vedashree Vidwans
2021-10-20 12:59:07 -07:00
committed by mobile promotions
parent 649b353b01
commit aef209f1f5

View File

@@ -1462,20 +1462,20 @@ static int tegra_soc_hwpm_release(struct inode *inode, struct file *filp)
RELEASE_FAIL("Unable to disable PERFMON(0x%llx - 0x%llx)",
aperture->start_pa,
aperture->end_pa);
}
ip_ops = &hwpm->ip_info[aperture->dt_aperture];
if (ip_ops && (*ip_ops->hwpm_ip_pm)) {
err = (*ip_ops->hwpm_ip_pm)
(ip_ops->ip_dev, false);
if (err) {
tegra_soc_hwpm_err(
"Enable Runtime PM(%d) Failed",
aperture->dt_aperture);
ip_ops = &hwpm->ip_info[aperture->dt_aperture];
if (ip_ops && (*ip_ops->hwpm_ip_pm)) {
err = (*ip_ops->hwpm_ip_pm)
(ip_ops->ip_dev, false);
if (err) {
tegra_soc_hwpm_err(
"Enable Runtime PM(%d) Failed",
aperture->dt_aperture);
}
} else {
tegra_soc_hwpm_dbg(
"No Runtime PM(%d) for IP",
aperture->dt_aperture);
}
} else {
tegra_soc_hwpm_dbg(
"No Runtime PM(%d) for IP",
aperture->dt_aperture);
}
}
}