mirror of
git://nv-tegra.nvidia.com/linux-hwpm.git
synced 2025-12-24 10:13:00 +03:00
tegra: hwpm: t234: correct ip fs_info status
fix bug where ip status is set as valid even if no instances are available. Update floorsweep info computation to left shift calculated floorsweep mask by number of elements for every instance. JIRA THWPM-63 Change-Id: I1a51586c44626857e6fae7f46128bedd60fe3c5c Signed-off-by: Karthik Ramamoorthy <kramamoorthy@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2735968 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Vedashree Vidwans <vvidwans@nvidia.com> Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com> Reviewed-by: Seema Khowala <seemaj@nvidia.com> Reviewed-by: Vasuki Shankar <vasukis@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Vedashree Vidwans <vvidwans@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
56007741bc
commit
a90a599fe0
@@ -464,24 +464,21 @@ int t234_hwpm_get_fs_info(struct tegra_soc_hwpm *hwpm,
|
||||
if (t234_hwpm_is_ip_active(hwpm, ip_enum, &ip_idx)) {
|
||||
active_chip = hwpm->active_chip;
|
||||
chip_ip = active_chip->chip_ips[ip_idx];
|
||||
|
||||
if (!(chip_ip->override_enable)) {
|
||||
if (!(chip_ip->override_enable) && chip_ip->inst_fs_mask) {
|
||||
for (inst_idx = 0U; inst_idx < chip_ip->num_instances;
|
||||
inst_idx++) {
|
||||
ip_inst = &chip_ip->ip_inst_static_array[
|
||||
inst_idx];
|
||||
element_mask_shift = (inst_idx == 0U ? 0U :
|
||||
ip_inst->num_core_elements_per_inst);
|
||||
floorsweep = (floorsweep << element_mask_shift);
|
||||
|
||||
if (ip_inst->hw_inst_mask &
|
||||
chip_ip->inst_fs_mask) {
|
||||
floorsweep = (floorsweep <<
|
||||
element_mask_shift);
|
||||
floorsweep |=
|
||||
((u64)ip_inst->element_fs_mask);
|
||||
}
|
||||
}
|
||||
|
||||
*fs_mask = floorsweep;
|
||||
*ip_status = TEGRA_SOC_HWPM_IP_STATUS_VALID;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user