mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: fix nvgpu_grmgr_get_gr_syspipe_id
API nvgpu_grmgr_get_gr_syspipe_id() right now traverses all the GPU instances to find requested gr_instance_id. But logically, gr_instance_id is always going to be same as gpu_instance_id since nvgpu only supports one GR engine instace per GPU instance. Fix this function by extracting GPU instance based on gr_instance_id and then fetching syspipe_id stored for that GPU instance. Jira NVGPU-5648 Change-Id: Ie7b86d765006353d0571e786a8089e7f75f779c3 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2405406 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Lakshmanan M <lm@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:
committed by
Alex Waterman
parent
6745b0685e
commit
ebb65b6eae
@@ -254,15 +254,13 @@ u32 nvgpu_grmgr_get_gr_syspipe_id(struct gk20a *g, u32 gr_instance_id)
|
||||
{
|
||||
struct nvgpu_gpu_instance *gpu_instance;
|
||||
struct nvgpu_gr_syspipe *gr_syspipe;
|
||||
u32 i;
|
||||
|
||||
for (i = 0U; i < g->mig.num_gpu_instances; i++) {
|
||||
gpu_instance = &g->mig.gpu_instance[i];
|
||||
if (gr_instance_id < g->mig.num_gpu_instances) {
|
||||
gpu_instance = &g->mig.gpu_instance[gr_instance_id];
|
||||
gr_syspipe = &gpu_instance->gr_syspipe;
|
||||
if (gr_instance_id == gr_syspipe->gr_instance_id) {
|
||||
|
||||
return gr_syspipe->gr_syspipe_id;
|
||||
}
|
||||
}
|
||||
|
||||
return U32_MAX;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user