mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: Add SM diversity gpu characteristic flag
To achieve permanent fault coverage, the CTAs launched by each kernel in the mission and redundant contexts must execute on different hardware resources. This feature requires a change in software to make it possible to modify the virtual SM id to TPC mapping across mission and redundant contexts. This CL adds only SM diversity flags which are exposed to its clients through ioctl/devctl interfaces. Actual virtual SM id to TPC mapping implementation will be part of upcoming patch sets. Added NvGpu CFLAGS to identify the safety build "CONFIG_NVGPU_BUILD_CONFIGURATION_IS_SAFETY" JIRA NVGPU-4133 Change-Id: I5a18256780e6726e399e39c1c8d155d2ef07d7bd Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2250461 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
b32470e3ae
commit
a52ee77837
@@ -174,6 +174,8 @@ struct nvgpu_gpu_zbc_query_table_args {
|
||||
#define NVGPU_GPU_FLAGS_SUPPORT_FAULT_RECOVERY (1ULL << 33)
|
||||
/* Copy Engine diversity is available */
|
||||
#define NVGPU_GPU_FLAGS_SUPPORT_COPY_ENGINE_DIVERSITY (1ULL << 34)
|
||||
/** SM diversity is available. */
|
||||
#define NVGPU_GPU_FLAGS_SUPPORT_SM_DIVERSITY (1ULL << 35)
|
||||
/* SM LRF ECC is enabled */
|
||||
#define NVGPU_GPU_FLAGS_ECC_ENABLED_SM_LRF (1ULL << 60)
|
||||
/* SM SHM ECC is enabled */
|
||||
@@ -292,7 +294,8 @@ struct nvgpu_gpu_characteristics {
|
||||
__u8 reserved2[6];
|
||||
|
||||
__u32 max_ctxsw_ring_buffer_size;
|
||||
__u32 reserved3;
|
||||
/* Max CTA diversity configuration count. */
|
||||
__u32 max_sm_diversity_config_count;
|
||||
|
||||
/* Notes:
|
||||
- This struct can be safely appended with new fields. However, always
|
||||
@@ -457,6 +460,8 @@ struct nvgpu_gpu_vsms_mapping_entry {
|
||||
};
|
||||
|
||||
struct nvgpu_gpu_vsms_mapping {
|
||||
__u32 sm_diversity_config;
|
||||
__u32 reserved;
|
||||
__u64 vsms_map_buf_addr;
|
||||
};
|
||||
|
||||
@@ -1519,6 +1524,8 @@ struct nvgpu_set_nvmap_fd_args {
|
||||
struct nvgpu_alloc_obj_ctx_args {
|
||||
__u32 class_num; /* kepler3d, 2d, compute, etc */
|
||||
__u32 flags; /* input, output */
|
||||
__u32 sm_diversity_config; /* input */
|
||||
__u32 reserved;
|
||||
__u64 obj_id; /* output, used to free later */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user