mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: expose physical masks for GPCS/FBPs for MIG
Following changes are added 1) nvgpu_gr_config->gpc_tpc_mask_physical is now indexed by physical gpc id instead of logical id. 2) Removed the conversion of logical fbp ids and replace them with physical ids. 3) nvgpu_gpu_instance->fbp_en_mask now contains the mask of physical fbp ids. 4) gk20a_ctrl_ioctl_gpu_characteristics returns gpu.gpc_mask returns mask of physical ids. Bug 200712091 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Change-Id: I0e066df76e07203ff4a5be5bfff2cef8566b425d Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2648831 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> Reviewed-by: Antony Clince Alex <aalex@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
2373a87048
commit
3d01b89e68
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011-2021, NVIDIA Corporation. All rights reserved.
|
||||
* Copyright (c) 2011-2022, NVIDIA Corporation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -364,6 +364,8 @@ static long gk20a_ctrl_ioctl_gpu_characteristics(
|
||||
long err = 0;
|
||||
struct nvgpu_gpu_instance *gpu_instance;
|
||||
|
||||
u32 gr_instance_id = nvgpu_grmgr_get_gr_instance_id(g, gpu_instance_id);
|
||||
|
||||
if (gk20a_busy(g)) {
|
||||
nvgpu_err(g, "failed to power on gpu");
|
||||
return -EINVAL;
|
||||
@@ -377,7 +379,13 @@ static long gk20a_ctrl_ioctl_gpu_characteristics(
|
||||
|
||||
gpu.num_gpc = nvgpu_gr_config_get_gpc_count(gr_config);
|
||||
gpu.max_gpc_count = nvgpu_gr_config_get_max_gpc_count(gr_config);
|
||||
gpu.gpc_mask = nvgpu_gr_config_get_gpc_mask(gr_config);
|
||||
/* Convert logical to physical masks */
|
||||
gpu.gpc_mask = nvgpu_grmgr_get_gr_physical_gpc_mask(g, gr_instance_id);
|
||||
|
||||
nvgpu_log(g, gpu_dbg_fn | gpu_dbg_gpu_dbg,
|
||||
"GR Instance ID = %u, physical gpc_mask = 0x%08X, logical gpc_mask = 0x%08X",
|
||||
gr_instance_id, gpu.gpc_mask, nvgpu_grmgr_get_gr_logical_gpc_mask(g,
|
||||
gr_instance_id));
|
||||
|
||||
gpu.num_tpc_per_gpc = nvgpu_gr_config_get_max_tpc_per_gpc_count(gr_config);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user