From 67049d717560a39ae7f9abc532307e072a3e3e9b Mon Sep 17 00:00:00 2001 From: Amber Lin Date: Fri, 3 Feb 2017 09:59:21 -0500 Subject: [PATCH] Replace spaces with tabs Thunk follows Linux kernel coding convention to use tabs instead of spaces. Change-Id: I4eddcfa9a0513f16c869d9cc63f9f1dae0c39f83 Signed-off-by: Amber Lin [ROCm/ROCR-Runtime commit: d4dbf562a9eba6c5a05eb0272c76f34f80e7376f] --- projects/rocr-runtime/src/perfctr.c | 370 +++++++++++++------------- projects/rocr-runtime/src/pmc_table.c | 297 +++++++++++---------- projects/rocr-runtime/src/pmc_table.h | 20 +- 3 files changed, 344 insertions(+), 343 deletions(-) diff --git a/projects/rocr-runtime/src/perfctr.c b/projects/rocr-runtime/src/perfctr.c index 95102a19ed..2b312affd4 100644 --- a/projects/rocr-runtime/src/perfctr.c +++ b/projects/rocr-runtime/src/perfctr.c @@ -29,19 +29,19 @@ #include "linux/kfd_ioctl.h" #include -#define BITS_PER_BYTE CHAR_BIT +#define BITS_PER_BYTE CHAR_BIT -#define HSA_PERF_MAGIC4CC 0x54415348 +#define HSA_PERF_MAGIC4CC 0x54415348 enum perf_trace_state { - PERF_TRACE_STATE__STOPPED = 0, - PERF_TRACE_STATE__STARTED + PERF_TRACE_STATE__STOPPED = 0, + PERF_TRACE_STATE__STARTED }; struct perf_trace { - uint32_t magic4cc; - uint32_t gpu_id; - enum perf_trace_state state; + uint32_t magic4cc; + uint32_t gpu_id; + enum perf_trace_state state; }; extern int amd_hsa_thunk_lock_fd; @@ -77,94 +77,92 @@ void destroy_counter_props(void) static int blockid2uuid(enum perf_block_id block_id, HSA_UUID *uuid) { - int rc = 0; - switch (block_id) { - case PERFCOUNTER_BLOCKID__SQ: - *uuid = HSA_PROFILEBLOCK_AMD_SQ; - break; - default: - /* If we reach this point, it's a bug */ - rc = -1; - } + int rc = 0; + switch (block_id) { + case PERFCOUNTER_BLOCKID__SQ: + *uuid = HSA_PROFILEBLOCK_AMD_SQ; + break; + default: + /* If we reach this point, it's a bug */ + rc = -1; + } - return rc; + return rc; } HSAKMT_STATUS HSAKMTAPI hsaKmtPmcGetCounterProperties( - HSAuint32 NodeId, //IN - HsaCounterProperties** CounterProperties //OUT - ) + HSAuint32 NodeId, //IN + HsaCounterProperties** CounterProperties //OUT + ) { - HSAKMT_STATUS rc = HSAKMT_STATUS_SUCCESS; - uint32_t gpu_id, i, block_id; - uint16_t dev_id; - uint32_t counter_props_size = 0; - uint32_t total_counters = 0; - uint32_t total_concurrent = 0; - struct perf_counter_block block = {0}; + HSAKMT_STATUS rc = HSAKMT_STATUS_SUCCESS; + uint32_t gpu_id, i, block_id; + uint16_t dev_id; + uint32_t counter_props_size = 0; + uint32_t total_counters = 0; + uint32_t total_concurrent = 0; + struct perf_counter_block block = {0}; if (counter_props == NULL) return HSAKMT_STATUS_NO_MEMORY; - if (CounterProperties == NULL) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (CounterProperties == NULL) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (validate_nodeid(NodeId, &gpu_id) != 0) - return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (validate_nodeid(NodeId, &gpu_id) != 0) + return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (counter_props[NodeId] == NULL) { + dev_id = get_device_id_by_node(NodeId); + for (i = 0; i < PERFCOUNTER_BLOCKID__MAX; i++) { + rc = get_block_properties(dev_id, i, &block); + if (rc != HSAKMT_STATUS_SUCCESS) + return rc; + total_concurrent += block.num_of_slots; + total_counters += block.num_of_counters; + } + counter_props_size = sizeof(HsaCounterProperties) + + sizeof(HsaCounterBlockProperties)*(PERFCOUNTER_BLOCKID__MAX-1) + + sizeof(HsaCounter)*(total_counters-1); - if (counter_props[NodeId] == NULL) { - dev_id = get_device_id_by_node(NodeId); - for (i = 0; i < PERFCOUNTER_BLOCKID__MAX; i++) { - rc = get_block_properties(dev_id, i, &block); - if (rc != HSAKMT_STATUS_SUCCESS) - return rc; - total_concurrent += block.num_of_slots; - total_counters += block.num_of_counters; - } + counter_props[NodeId] = malloc(counter_props_size); - counter_props_size = sizeof(HsaCounterProperties) + - sizeof(HsaCounterBlockProperties)*(PERFCOUNTER_BLOCKID__MAX-1) + - sizeof(HsaCounter)*(total_counters-1); + if (counter_props[NodeId] == NULL) + return HSAKMT_STATUS_NO_MEMORY; - counter_props[NodeId] = malloc(counter_props_size); + counter_props[NodeId]->NumBlocks = PERFCOUNTER_BLOCKID__MAX; + counter_props[NodeId]->NumConcurrent = total_concurrent; - if (counter_props[NodeId] == NULL) - return HSAKMT_STATUS_NO_MEMORY; + for (block_id = 0; block_id < PERFCOUNTER_BLOCKID__MAX; block_id++) + { + rc = get_block_properties(dev_id, block_id, &block); + if (rc != HSAKMT_STATUS_SUCCESS) { + free(counter_props[NodeId]); + return rc; + } - counter_props[NodeId]->NumBlocks = PERFCOUNTER_BLOCKID__MAX; - counter_props[NodeId]->NumConcurrent = total_concurrent; + /* Filling the SQ block */ + blockid2uuid(block_id, &counter_props[NodeId]->Blocks[block_id].BlockId); + counter_props[NodeId]->Blocks[block_id].NumCounters = block.num_of_counters; + counter_props[NodeId]->Blocks[block_id].NumConcurrent = block.num_of_slots; - for (block_id = 0; block_id < PERFCOUNTER_BLOCKID__MAX; block_id++) - { - rc = get_block_properties(dev_id, block_id, &block); - if (rc != HSAKMT_STATUS_SUCCESS) { - free(counter_props[NodeId]); - return rc; - } + for (i = 0; i < block.num_of_counters; i++) { + counter_props[NodeId]->Blocks[block_id].Counters[i].BlockIndex = block_id; + counter_props[NodeId]->Blocks[block_id].Counters[i].CounterId = block.counter_ids[i]; + counter_props[NodeId]->Blocks[block_id].Counters[i].CounterSizeInBits = block.counter_size_in_bits; + counter_props[NodeId]->Blocks[block_id].Counters[i].CounterMask = block.counter_mask; + counter_props[NodeId]->Blocks[block_id].Counters[i].Flags.ui32.Global = 1; + counter_props[NodeId]->Blocks[block_id].Counters[i].Type = HSA_PROFILE_TYPE_NONPRIV_IMMEDIATE; + } + } + } - /* Filling the SQ block */ - blockid2uuid(block_id, &counter_props[NodeId]->Blocks[block_id].BlockId); - counter_props[NodeId]->Blocks[block_id].NumCounters = block.num_of_counters; - counter_props[NodeId]->Blocks[block_id].NumConcurrent = block.num_of_slots; + *CounterProperties = counter_props[NodeId]; - for (i = 0; i < block.num_of_counters; i++) { - counter_props[NodeId]->Blocks[block_id].Counters[i].BlockIndex = block_id; - counter_props[NodeId]->Blocks[block_id].Counters[i].CounterId = block.counter_ids[i]; - counter_props[NodeId]->Blocks[block_id].Counters[i].CounterSizeInBits = block.counter_size_in_bits; - counter_props[NodeId]->Blocks[block_id].Counters[i].CounterMask = block.counter_mask; - counter_props[NodeId]->Blocks[block_id].Counters[i].Flags.ui32.Global = 1; - counter_props[NodeId]->Blocks[block_id].Counters[i].Type = HSA_PROFILE_TYPE_NONPRIV_IMMEDIATE; - } - } - } - - *CounterProperties = counter_props[NodeId]; - - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } /** @@ -174,51 +172,51 @@ hsaKmtPmcGetCounterProperties( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcRegisterTrace( - HSAuint32 NodeId, //IN - HSAuint32 NumberOfCounters, //IN - HsaCounter* Counters, //IN - HsaPmcTraceRoot* TraceRoot //OUT - ) + HSAuint32 NodeId, //IN + HSAuint32 NumberOfCounters, //IN + HsaCounter* Counters, //IN + HsaPmcTraceRoot* TraceRoot //OUT + ) { - uint32_t gpu_id, i; - uint64_t min_buf_size = 0; - uint32_t concurrent_counters[PERFCOUNTER_BLOCKID__MAX] = {0}; - struct perf_trace *trace = NULL; + uint32_t gpu_id, i; + uint64_t min_buf_size = 0; + uint32_t concurrent_counters[PERFCOUNTER_BLOCKID__MAX] = {0}; + struct perf_trace *trace = NULL; if (counter_props == NULL) return HSAKMT_STATUS_NO_MEMORY; - if (Counters == NULL || TraceRoot == NULL || NumberOfCounters == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (Counters == NULL || TraceRoot == NULL || NumberOfCounters == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (validate_nodeid(NodeId, &gpu_id) != 0) - return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (validate_nodeid(NodeId, &gpu_id) != 0) + return HSAKMT_STATUS_INVALID_NODE_UNIT; - /* Calculating the minimum buffer size */ - for (i = 0; i < NumberOfCounters; i++) { - if (Counters[i].BlockIndex >= PERFCOUNTER_BLOCKID__MAX) - return HSAKMT_STATUS_INVALID_PARAMETER; - min_buf_size += Counters[i].CounterSizeInBits/BITS_PER_BYTE; - concurrent_counters[Counters[i].BlockIndex]++; - } + /* Calculating the minimum buffer size */ + for (i = 0; i < NumberOfCounters; i++) { + if (Counters[i].BlockIndex >= PERFCOUNTER_BLOCKID__MAX) + return HSAKMT_STATUS_INVALID_PARAMETER; + min_buf_size += Counters[i].CounterSizeInBits/BITS_PER_BYTE; + concurrent_counters[Counters[i].BlockIndex]++; + } - /* Verifying that the number of counters per block is not larger than the amount of slots */ - if (concurrent_counters[PERFCOUNTER_BLOCKID__SQ] > counter_props[NodeId]->Blocks[PERFCOUNTER_BLOCKID__SQ].NumConcurrent) - return HSAKMT_STATUS_INVALID_PARAMETER; + /* Verifying that the number of counters per block is not larger than the amount of slots */ + if (concurrent_counters[PERFCOUNTER_BLOCKID__SQ] > counter_props[NodeId]->Blocks[PERFCOUNTER_BLOCKID__SQ].NumConcurrent) + return HSAKMT_STATUS_INVALID_PARAMETER; - trace = malloc(sizeof(trace)); - if (trace == NULL) - return HSAKMT_STATUS_NO_MEMORY; + trace = malloc(sizeof(trace)); + if (trace == NULL) + return HSAKMT_STATUS_NO_MEMORY; - trace->magic4cc = HSA_PERF_MAGIC4CC; - trace->gpu_id = gpu_id; - trace->state = PERF_TRACE_STATE__STOPPED; + trace->magic4cc = HSA_PERF_MAGIC4CC; + trace->gpu_id = gpu_id; + trace->state = PERF_TRACE_STATE__STOPPED; - TraceRoot->NumberOfPasses = 1; - TraceRoot->TraceBufferMinSizeBytes = PAGE_ALIGN_UP(min_buf_size); - TraceRoot->TraceId = PORT_VPTR_TO_UINT64(trace); + TraceRoot->NumberOfPasses = 1; + TraceRoot->TraceBufferMinSizeBytes = PAGE_ALIGN_UP(min_buf_size); + TraceRoot->TraceId = PORT_VPTR_TO_UINT64(trace); - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } /** @@ -228,37 +226,37 @@ hsaKmtPmcRegisterTrace( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcUnregisterTrace( - HSAuint32 NodeId, //IN - HSATraceId TraceId //IN - ) + HSAuint32 NodeId, //IN + HSATraceId TraceId //IN + ) { - uint32_t gpu_id; - struct perf_trace *trace; + uint32_t gpu_id; + struct perf_trace *trace; - if (TraceId == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (validate_nodeid(NodeId, &gpu_id) != 0) - return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (validate_nodeid(NodeId, &gpu_id) != 0) + return HSAKMT_STATUS_INVALID_NODE_UNIT; - trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - if (trace->gpu_id != gpu_id) - return HSAKMT_STATUS_INVALID_NODE_UNIT; + if (trace->gpu_id != gpu_id) + return HSAKMT_STATUS_INVALID_NODE_UNIT; - /* If the trace is in the running state, stop it */ - if (trace->state == PERF_TRACE_STATE__STARTED) { - HSAKMT_STATUS status = hsaKmtPmcStopTrace(TraceId); - if (status != HSAKMT_STATUS_SUCCESS) - return status; - } + /* If the trace is in the running state, stop it */ + if (trace->state == PERF_TRACE_STATE__STARTED) { + HSAKMT_STATUS status = hsaKmtPmcStopTrace(TraceId); + if (status != HSAKMT_STATUS_SUCCESS) + return status; + } - free(trace); + free(trace); - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } @@ -270,29 +268,29 @@ hsaKmtPmcUnregisterTrace( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcAcquireTraceAccess( - HSAuint32 NodeId, //IN - HSATraceId TraceId //IN - ) + HSAuint32 NodeId, //IN + HSATraceId TraceId //IN + ) { - struct perf_trace *trace; + struct perf_trace *trace; - if (TraceId == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - if (amd_hsa_thunk_lock_fd > 0) { + if (amd_hsa_thunk_lock_fd > 0) { if (lockf( amd_hsa_thunk_lock_fd, F_TLOCK, 0 ) != 0) - return HSAKMT_STATUS_ERROR; + return HSAKMT_STATUS_ERROR; else return HSAKMT_STATUS_SUCCESS; - } - else { - return HSAKMT_STATUS_ERROR; - } + } + else { + return HSAKMT_STATUS_ERROR; + } } @@ -304,29 +302,29 @@ hsaKmtPmcAcquireTraceAccess( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcReleaseTraceAccess( - HSAuint32 NodeId, //IN - HSATraceId TraceId //IN - ) + HSAuint32 NodeId, //IN + HSATraceId TraceId //IN + ) { - struct perf_trace *trace; + struct perf_trace *trace; - if (TraceId == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - if (amd_hsa_thunk_lock_fd > 0) { + if (amd_hsa_thunk_lock_fd > 0) { if (lockf( amd_hsa_thunk_lock_fd, F_ULOCK, 0 ) != 0) - return HSAKMT_STATUS_ERROR; + return HSAKMT_STATUS_ERROR; else return HSAKMT_STATUS_SUCCESS; - } - else { - return HSAKMT_STATUS_ERROR; - } + } + else { + return HSAKMT_STATUS_ERROR; + } } @@ -338,22 +336,22 @@ hsaKmtPmcReleaseTraceAccess( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcStartTrace( - HSATraceId TraceId, //IN - void* TraceBuffer, //IN (page aligned) - HSAuint64 TraceBufferSizeBytes //IN (page aligned) - ) + HSATraceId TraceId, //IN + void* TraceBuffer, //IN (page aligned) + HSAuint64 TraceBufferSizeBytes //IN (page aligned) + ) { - struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (TraceId == 0 || TraceBuffer == NULL || TraceBufferSizeBytes == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0 || TraceBuffer == NULL || TraceBufferSizeBytes == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - trace->state = PERF_TRACE_STATE__STARTED; + trace->state = PERF_TRACE_STATE__STARTED; - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } @@ -364,18 +362,18 @@ hsaKmtPmcStartTrace( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcQueryTrace( - HSATraceId TraceId //IN - ) + HSATraceId TraceId //IN + ) { - struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (TraceId == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } @@ -386,18 +384,18 @@ hsaKmtPmcQueryTrace( HSAKMT_STATUS HSAKMTAPI hsaKmtPmcStopTrace( - HSATraceId TraceId //IN - ) + HSATraceId TraceId //IN + ) { - struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); + struct perf_trace *trace = (struct perf_trace *)PORT_UINT64_TO_VPTR(TraceId); - if (TraceId == 0) - return HSAKMT_STATUS_INVALID_PARAMETER; + if (TraceId == 0) + return HSAKMT_STATUS_INVALID_PARAMETER; - if (trace->magic4cc != HSA_PERF_MAGIC4CC) - return HSAKMT_STATUS_INVALID_HANDLE; + if (trace->magic4cc != HSA_PERF_MAGIC4CC) + return HSAKMT_STATUS_INVALID_HANDLE; - trace->state = PERF_TRACE_STATE__STOPPED; + trace->state = PERF_TRACE_STATE__STOPPED; - return HSAKMT_STATUS_SUCCESS; + return HSAKMT_STATUS_SUCCESS; } diff --git a/projects/rocr-runtime/src/pmc_table.c b/projects/rocr-runtime/src/pmc_table.c index 3d4b495b11..b0db2fea70 100644 --- a/projects/rocr-runtime/src/pmc_table.c +++ b/projects/rocr-runtime/src/pmc_table.c @@ -26,132 +26,134 @@ #include "libhsakmt.h" #include "pmc_table.h" - static uint32_t kaveri_sq_counter_ids[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250 +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, +23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, +43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, +63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, +83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, +102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, +118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, +134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, +150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 168, 169, 170, +171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, +187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, +203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, +219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, +235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250 }; /* Unused counters - 166, 292 - 297 */ static uint32_t carrizo_sq_counter_ids[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 298 +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, +23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, +43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, +63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, +83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, +102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, +118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, +134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, +150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, +167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, +183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, +199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, +215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, +231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, +247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, +263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, +279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 298 }; /* Unused counters - 166, 292 - 297 */ static uint32_t fiji_sq_counter_ids[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 298 +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, +23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, +43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, +63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, +83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, +102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, +118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, +134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, +150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, +167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, +183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, +199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, +215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, +231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, +247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, +263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, +279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 298 }; /* Unused counters - 163 - 166, 167 and 251 are *_DUMMY_LAST */ static uint32_t hawaii_sq_counter_ids[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250 +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, +22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, +41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, +60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, +79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, +98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, +113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, +128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, +143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, +158, 159, 160, 161, 162, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, +178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, +193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, +208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, +223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, +238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250 }; /* Polaris 10 and Polaris 11 have the same SQ cpunter IDs */ /* Unused counters - 167 and 275 are *_DUMMY_LAST */ static uint32_t polaris_sq_counter_ids[] = { - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295 +1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, +22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, +41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, +60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, +79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, +98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, +113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, +128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, +143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, +158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 170, 171, 172, 173, 174, +175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, +190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, +205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, +220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, +235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, +250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, +265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 276, 277, 278, 279, 280, +281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295 }; static struct perf_counter_block kaveri_blocks[PERFCOUNTER_BLOCKID__MAX] = { - [PERFCOUNTER_BLOCKID__SQ] = { - .num_of_slots = 8, - .num_of_counters = sizeof(kaveri_sq_counter_ids)/sizeof(*kaveri_sq_counter_ids), - .counter_ids = kaveri_sq_counter_ids, - .counter_size_in_bits = 64, - .counter_mask = BITMASK(64) - }, + [PERFCOUNTER_BLOCKID__SQ] = { + .num_of_slots = 8, + .num_of_counters = sizeof(kaveri_sq_counter_ids) / + sizeof(*kaveri_sq_counter_ids), + .counter_ids = kaveri_sq_counter_ids, + .counter_size_in_bits = 64, + .counter_mask = BITMASK(64) + }, }; static struct perf_counter_block carrizo_blocks[PERFCOUNTER_BLOCKID__MAX] = { - [PERFCOUNTER_BLOCKID__SQ] = { - .num_of_slots = 8, - .num_of_counters = sizeof(carrizo_sq_counter_ids)/sizeof(*carrizo_sq_counter_ids), - .counter_ids = carrizo_sq_counter_ids, - .counter_size_in_bits = 64, - .counter_mask = BITMASK(64) - }, + [PERFCOUNTER_BLOCKID__SQ] = { + .num_of_slots = 8, + .num_of_counters = sizeof(carrizo_sq_counter_ids) / + sizeof(*carrizo_sq_counter_ids), + .counter_ids = carrizo_sq_counter_ids, + .counter_size_in_bits = 64, + .counter_mask = BITMASK(64) + }, }; static struct perf_counter_block fiji_blocks[PERFCOUNTER_BLOCKID__MAX] = { [PERFCOUNTER_BLOCKID__SQ] = { .num_of_slots = 8, - .num_of_counters = sizeof(fiji_sq_counter_ids) / sizeof(*fiji_sq_counter_ids), + .num_of_counters = sizeof(fiji_sq_counter_ids) / + sizeof(*fiji_sq_counter_ids), .counter_ids = fiji_sq_counter_ids, .counter_size_in_bits = 64, .counter_mask = BITMASK(64) @@ -159,71 +161,72 @@ static struct perf_counter_block fiji_blocks[PERFCOUNTER_BLOCKID__MAX] = { }; static struct perf_counter_block hawaii_blocks[PERFCOUNTER_BLOCKID__MAX] = { - [PERFCOUNTER_BLOCKID__SQ] = { - .num_of_slots = 8, - .num_of_counters = - sizeof(hawaii_sq_counter_ids) / sizeof(*hawaii_sq_counter_ids), - .counter_ids = hawaii_sq_counter_ids, - .counter_size_in_bits = 64, - .counter_mask = BITMASK(64) - }, + [PERFCOUNTER_BLOCKID__SQ] = { + .num_of_slots = 8, + .num_of_counters = sizeof(hawaii_sq_counter_ids) / + sizeof(*hawaii_sq_counter_ids), + .counter_ids = hawaii_sq_counter_ids, + .counter_size_in_bits = 64, + .counter_mask = BITMASK(64) + }, }; static struct perf_counter_block polaris_blocks[PERFCOUNTER_BLOCKID__MAX] = { - [PERFCOUNTER_BLOCKID__SQ] = { - .num_of_slots = 8, - .num_of_counters = sizeof(polaris_sq_counter_ids) / - sizeof(*polaris_sq_counter_ids), - .counter_ids = polaris_sq_counter_ids, - .counter_size_in_bits = 64, - .counter_mask = BITMASK(64) - }, + [PERFCOUNTER_BLOCKID__SQ] = { + .num_of_slots = 8, + .num_of_counters = sizeof(polaris_sq_counter_ids) / + sizeof(*polaris_sq_counter_ids), + .counter_ids = polaris_sq_counter_ids, + .counter_size_in_bits = 64, + .counter_mask = BITMASK(64) + }, }; HSAKMT_STATUS get_block_properties(uint16_t dev_id, - enum perf_block_id block_id, - struct perf_counter_block *block) + enum perf_block_id block_id, + struct perf_counter_block *block) { - HSAKMT_STATUS rc = HSAKMT_STATUS_SUCCESS; - if (block_id > PERFCOUNTER_BLOCKID__MAX || block_id < PERFCOUNTER_BLOCKID__FIRST) - return HSAKMT_STATUS_INVALID_PARAMETER; + HSAKMT_STATUS rc = HSAKMT_STATUS_SUCCESS; + if (block_id > PERFCOUNTER_BLOCKID__MAX || block_id < PERFCOUNTER_BLOCKID__FIRST) + return HSAKMT_STATUS_INVALID_PARAMETER; - /* To avoid the long list, we read the 12 most significant digits of DID - * to identify the GPU instead of listing the complete 16 bits. If one day - * 12-bits is not good enough to distinguish the GPU, change the code here. - */ - switch(dev_id >> 4) { - case 0x130: - case 0x131: - *block = kaveri_blocks[block_id]; - break; + /* To avoid the long list, we read the 12 most significant digits of DID + * to identify the GPU instead of listing the complete 16 bits. If one + * day 12-bits is not good enough to distinguish the GPU, change the + * code here. + */ + switch(dev_id >> 4) { + case 0x130: + case 0x131: + *block = kaveri_blocks[block_id]; + break; - case 0x987: - *block = carrizo_blocks[block_id]; - break; + case 0x987: + *block = carrizo_blocks[block_id]; + break; - case 0x730: - *block = fiji_blocks[block_id]; - break; + case 0x730: + *block = fiji_blocks[block_id]; + break; - case 0x67A: - case 0x67B: - *block = hawaii_blocks[block_id]; - break; + case 0x67A: + case 0x67B: + *block = hawaii_blocks[block_id]; + break; - case 0x67C: - case 0x67D: - case 0x67E: - case 0x67F: - *block = polaris_blocks[block_id]; - break; + case 0x67C: + case 0x67D: + case 0x67E: + case 0x67F: + *block = polaris_blocks[block_id]; + break; - default: - rc = HSAKMT_STATUS_INVALID_PARAMETER; - } + default: + rc = HSAKMT_STATUS_INVALID_PARAMETER; + } - return rc; + return rc; } diff --git a/projects/rocr-runtime/src/pmc_table.h b/projects/rocr-runtime/src/pmc_table.h index 35ed07eb4c..820edae4e0 100644 --- a/projects/rocr-runtime/src/pmc_table.h +++ b/projects/rocr-runtime/src/pmc_table.h @@ -29,22 +29,22 @@ #include "libhsakmt.h" enum perf_block_id { - PERFCOUNTER_BLOCKID__FIRST = 0, - PERFCOUNTER_BLOCKID__SQ = PERFCOUNTER_BLOCKID__FIRST, - PERFCOUNTER_BLOCKID__MAX + PERFCOUNTER_BLOCKID__FIRST = 0, + PERFCOUNTER_BLOCKID__SQ = PERFCOUNTER_BLOCKID__FIRST, + PERFCOUNTER_BLOCKID__MAX }; struct perf_counter_block { - uint32_t num_of_slots; - uint32_t num_of_counters; - uint32_t *counter_ids; - uint32_t counter_size_in_bits; - uint64_t counter_mask; + uint32_t num_of_slots; + uint32_t num_of_counters; + uint32_t *counter_ids; + uint32_t counter_size_in_bits; + uint64_t counter_mask; }; HSAKMT_STATUS get_block_properties(uint16_t dev_id, - enum perf_block_id block_id, - struct perf_counter_block *block); + enum perf_block_id block_id, + struct perf_counter_block *block); #endif // PMC_TABLE_H