mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-01-31 13:39:47 +00:00
550.40.07
This commit is contained in:
@@ -206,7 +206,7 @@ static UvmFaultMetadataPacket *get_fault_buffer_entry_metadata(uvm_parent_gpu_t
|
||||
UvmFaultMetadataPacket *fault_entry_metadata;
|
||||
|
||||
UVM_ASSERT(index < parent_gpu->fault_buffer_info.replayable.max_faults);
|
||||
UVM_ASSERT(!uvm_parent_gpu_replayable_fault_buffer_is_uvm_owned(parent_gpu));
|
||||
UVM_ASSERT(g_uvm_global.conf_computing_enabled);
|
||||
|
||||
fault_entry_metadata = parent_gpu->fault_buffer_info.rm_info.replayable.bufferMetadata;
|
||||
UVM_ASSERT(fault_entry_metadata != NULL);
|
||||
@@ -286,12 +286,9 @@ NV_STATUS uvm_hal_pascal_fault_buffer_parse_replayable_entry(uvm_parent_gpu_t *p
|
||||
|
||||
bool uvm_hal_pascal_fault_buffer_entry_is_valid(uvm_parent_gpu_t *parent_gpu, NvU32 index)
|
||||
{
|
||||
if (uvm_parent_gpu_replayable_fault_buffer_is_uvm_owned(parent_gpu)) {
|
||||
NvU32 *fault_entry = get_fault_buffer_entry(parent_gpu, index);
|
||||
NvU32 *fault_entry;
|
||||
|
||||
return READ_HWVALUE_MW(fault_entry, B069, FAULT_BUF_ENTRY, VALID);
|
||||
}
|
||||
else {
|
||||
if (g_uvm_global.conf_computing_enabled) {
|
||||
// Use the valid bit present in the encryption metadata, which is
|
||||
// unencrypted, instead of the valid bit present in the (encrypted)
|
||||
// fault itself.
|
||||
@@ -300,25 +297,26 @@ bool uvm_hal_pascal_fault_buffer_entry_is_valid(uvm_parent_gpu_t *parent_gpu, Nv
|
||||
return fault_entry_metadata->valid;
|
||||
}
|
||||
|
||||
UVM_ASSERT_MSG(false, "Invalid path");
|
||||
return false;
|
||||
fault_entry = get_fault_buffer_entry(parent_gpu, index);
|
||||
return READ_HWVALUE_MW(fault_entry, B069, FAULT_BUF_ENTRY, VALID);
|
||||
}
|
||||
|
||||
void uvm_hal_pascal_fault_buffer_entry_clear_valid(uvm_parent_gpu_t *parent_gpu, NvU32 index)
|
||||
{
|
||||
if (uvm_parent_gpu_replayable_fault_buffer_is_uvm_owned(parent_gpu)) {
|
||||
NvU32 *fault_entry = get_fault_buffer_entry(parent_gpu, index);
|
||||
NvU32 *fault_entry;
|
||||
|
||||
WRITE_HWCONST_MW(fault_entry, B069, FAULT_BUF_ENTRY, VALID, FALSE);
|
||||
}
|
||||
else {
|
||||
if (g_uvm_global.conf_computing_enabled) {
|
||||
// Use the valid bit present in the encryption metadata, which is
|
||||
// unencrypted, instead of the valid bit present in the (encrypted)
|
||||
// fault itself.
|
||||
UvmFaultMetadataPacket *fault_entry_metadata = get_fault_buffer_entry_metadata(parent_gpu, index);
|
||||
|
||||
fault_entry_metadata->valid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
fault_entry = get_fault_buffer_entry(parent_gpu, index);
|
||||
WRITE_HWCONST_MW(fault_entry, B069, FAULT_BUF_ENTRY, VALID, FALSE);
|
||||
}
|
||||
|
||||
NvU32 uvm_hal_pascal_fault_buffer_entry_size(uvm_parent_gpu_t *parent_gpu)
|
||||
|
||||
Reference in New Issue
Block a user