mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
New profiler APIs set regop type based on whether context is bound or not in nvgpu_prof_get_regops_staging_data(). But it is possible that ctxsw is not enabled for some particular HWPM resource even if context is bound to profiler object. Fix this by extracting regop type based on per-resource ctxsw flag instead of bound context. Add reg_op_type[] array in profiler object to track regop type for each HWPM resource. Initialize the array based on resource ctxsw flag in nvgpu_profiler_pm_resource_reserve(). Update profiler_obj_validate_reg_op_offset() to get regop type from nvgpu_profiler_validate_regops_allowlist() and use this type and prof->reg_op_type[] to get actual type that should be used for that regop. Update validate_reg_ops() to validate the offset first since regop type is now determined in offset validation. Set ops[i].status to 0 for each validation iteration, and if op is valid set it to REGOP(STATUS_SUCCESS) at the end of iteration. Bug 2510974 Jira NVGPU-5360 Change-Id: Ib1f75d840d04d288789473adabda02cdc807eea0 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2460003 Reviewed-by: Antony Clince Alex <aalex@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit