mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: use instance specific runlist id
In __gk20a_channel_open(), if runlist_id is provided as -1, pick up correct GPU instance sprcific default runlist id using nvgpu_grmgr_get_gpu_instance_runlist_id(). Also, get GPU instance is using nvgpu_get_gpu_instance_id_from_cdev() If runlist_id is received as input, check if it is valid for given GPU instance with nvgpu_grmgr_is_valid_runlist_id() Jira NVGPU-5648 Change-Id: I69303a3dd81f28f474b40564da51254bcaa1ed15 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2435467 Reviewed-by: automaticguardword <automaticguardword@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
be9271d721
commit
179e04b442
@@ -473,14 +473,22 @@ static int __gk20a_channel_open(struct gk20a *g, struct nvgpu_cdev *cdev,
|
||||
struct nvgpu_channel *ch;
|
||||
struct channel_priv *priv;
|
||||
u32 tmp_runlist_id;
|
||||
u32 gpu_instance_id;
|
||||
|
||||
nvgpu_log_fn(g, " ");
|
||||
|
||||
gpu_instance_id = nvgpu_get_gpu_instance_id_from_cdev(g, cdev);
|
||||
nvgpu_assert(gpu_instance_id < g->mig.num_gpu_instances);
|
||||
|
||||
nvgpu_assert(runlist_id >= -1);
|
||||
if (runlist_id == -1) {
|
||||
tmp_runlist_id = NVGPU_ENGINE_GR;
|
||||
tmp_runlist_id = nvgpu_grmgr_get_gpu_instance_runlist_id(g, gpu_instance_id);
|
||||
} else {
|
||||
tmp_runlist_id = runlist_id;
|
||||
if (nvgpu_grmgr_is_valid_runlist_id(g, gpu_instance_id, runlist_id)) {
|
||||
tmp_runlist_id = runlist_id;
|
||||
} else {
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
g = nvgpu_get(g);
|
||||
|
||||
Reference in New Issue
Block a user