PCS parser is aware of external correlation IDs (#639)

* PCS parser is aware of external correlation IDs

* source formatting (clang-format v11) (#640)

Co-authored-by: vlaindic <139573562+vlaindic@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Vladimir Indic
2024-03-15 20:04:06 +01:00
committed by GitHub
parent 1fa0b51263
commit 78939e705a
8 changed files with 35 additions and 25 deletions
@@ -52,7 +52,7 @@ static bool
check_samples(pcsample_v1_t* samples, uint64_t size)
{
for(size_t i = 0; i < size; i++)
if(samples[i].correlation_id != samples[i].pc) return false;
if(samples[i].correlation_id.internal != samples[i].pc) return false;
return true;
}
@@ -296,8 +296,8 @@ class WaveIssueAndErrorTest : public WaveSnapTest
{
pcsample_v1_t sample;
::memset(&sample, 0, sizeof(sample));
sample.pc = dispatch->unique_id;
sample.correlation_id = dispatch->getMockId().raw;
sample.pc = dispatch->unique_id;
sample.correlation_id.internal = dispatch->getMockId().raw;
sample.flags.valid = valid && !error;
sample.wave_issued = issued;
@@ -353,7 +353,7 @@ class WaveOtherFieldsTest : public WaveSnapTest
assert(compare[i].chiplet == parsed[0][i].chiplet);
assert(compare[i].wave_id == parsed[0][i].wave_id);
assert(compare[i].hw_id == parsed[0][i].hw_id);
assert(compare[i].correlation_id == parsed[0][i].correlation_id);
assert(compare[i].correlation_id.internal == parsed[0][i].correlation_id.internal);
}
}
@@ -367,10 +367,10 @@ class WaveOtherFieldsTest : public WaveSnapTest
sample.workgroup_id_y = blky;
sample.workgroup_id_z = blkz;
sample.chiplet = chip;
sample.wave_id = wave;
sample.hw_id = hwid;
sample.correlation_id = dispatch->unique_id;
sample.chiplet = chip;
sample.wave_id = wave;
sample.hw_id = hwid;
sample.correlation_id.internal = dispatch->unique_id;
compare.push_back(sample);
@@ -188,12 +188,12 @@ public:
packet_union_t uni;
::memset(&uni, 0, sizeof(uni));
uni.dispatch_id.type = AMD_DISPATCH_PKT_ID;
uni.dispatch_id.doorbell_id = doorbell_id;
uni.dispatch_id.queue_size = queue->size;
uni.dispatch_id.write_index = dispatch_id;
uni.dispatch_id.read_index = queue->read_index;
uni.dispatch_id.correlation_id = unique_id;
uni.dispatch_id.type = AMD_DISPATCH_PKT_ID;
uni.dispatch_id.doorbell_id = doorbell_id;
uni.dispatch_id.queue_size = queue->size;
uni.dispatch_id.write_index = dispatch_id;
uni.dispatch_id.read_index = queue->read_index;
uni.dispatch_id.correlation_id.internal = unique_id;
queue->submit(uni);
queue->write_index++;
};