Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply refactored constants. test bug fix #17895

Merged
merged 2 commits into from
Feb 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -64,27 +64,27 @@ void kernel_main() {
tt_fabric_init();

zero_l1_buf(test_results, test_results_size_bytes);
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_STARTED;
test_results[PQ_TEST_MISC_INDEX] = 0xff000000;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_STARTED;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000000;
zero_l1_buf(
reinterpret_cast<tt_l1_ptr uint32_t*>(data_buffer_start_addr), data_buffer_size_words * PACKET_WORD_SIZE_BYTES);
test_results[PQ_TEST_MISC_INDEX] = 0xff000001;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000001;
zero_l1_buf((uint32_t*)client_interface, sizeof(fabric_client_interface_t));
test_results[PQ_TEST_MISC_INDEX] = 0xff000002;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000002;
zero_l1_buf((uint32_t*)client_pull_req_buf, sizeof(chan_req_buf));
test_results[PQ_TEST_MISC_INDEX] = 0xff000003;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000003;

client_interface->gk_interface_addr = ((uint64_t)gk_interface_addr_h << 32) | gk_interface_addr_l;
client_interface->gk_msg_buf_addr = client_interface->gk_interface_addr + offsetof(gatekeeper_info_t, gk_msg_buf);
client_interface->pull_req_buf_addr = xy_local_addr | client_pull_req_buf_addr;
test_results[PQ_TEST_MISC_INDEX] = 0xff000004;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000004;

// make sure fabric node gatekeeper is available.
fabric_endpoint_init();

socket_reader.init(data_buffer_start_addr, data_buffer_size_words);
DPRINT << "Socket open on " << dest_device << ENDL();
test_results[PQ_TEST_MISC_INDEX] = 0xff000005;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000005;

fabric_socket_open(
3, // the network plane to use for this socket
Expand All @@ -96,7 +96,7 @@ void kernel_main() {
dest_device & 0xFFFF,
0 // fabric virtual channel.
);
test_results[PQ_TEST_MISC_INDEX] = 0xff000006;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000006;

uint32_t loop_count = 0;
uint32_t packet_count = 0;
Expand All @@ -110,7 +110,7 @@ void kernel_main() {
}
if (pull_req->flags == FORWARD) {
socket_reader.pull_socket_data(pull_req);
test_results[PQ_TEST_MISC_INDEX] = 0xDD000001;
test_results[TT_FABRIC_MISC_INDEX] = 0xDD000001;
noc_async_read_barrier();
update_pull_request_words_cleared(pull_req);
socket_reader.pull_words_in_flight = 0;
Expand All @@ -119,11 +119,11 @@ void kernel_main() {

if (socket_reader.packet_in_progress == 1 and socket_reader.packet_words_remaining == 0) {
// wait for any pending sockat data writes to finish.
test_results[PQ_TEST_MISC_INDEX] = 0xDD000002;
test_results[TT_FABRIC_MISC_INDEX] = 0xDD000002;

noc_async_write_barrier();

test_results[PQ_TEST_MISC_INDEX] = 0xDD000003;
test_results[TT_FABRIC_MISC_INDEX] = 0xDD000003;
// clear the flags field to invalidate pull request slot.
// flags will be set to non-zero by next requestor.
req_buf_advance_rdptr((chan_req_buf*)client_pull_req_buf);
Expand All @@ -132,7 +132,7 @@ void kernel_main() {
loop_count = 0;
}
}
test_results[PQ_TEST_MISC_INDEX] = 0xDD400000 | (loop_count & 0xfffff);
test_results[TT_FABRIC_MISC_INDEX] = 0xDD400000 | (loop_count & 0xfffff);

loop_count++;
if (packet_count > 0 and loop_count >= 0x10000) {
Expand All @@ -142,13 +142,13 @@ void kernel_main() {
}

// write out results
set_64b_result(test_results, processed_packet_words, PQ_TEST_WORD_CNT_INDEX);
set_64b_result(test_results, processed_packet_words, TT_FABRIC_WORD_CNT_INDEX);
set_64b_result(test_results, num_packets, TX_TEST_IDX_NPKT);

if (async_wr_check_failed) {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_DATA_MISMATCH;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_DATA_MISMATCH;
} else {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_PASS;
test_results[PQ_TEST_MISC_INDEX] = 0xff000005;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_PASS;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000005;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -403,11 +403,11 @@ void kernel_main() {
rx_addr_hi = base_target_address + rx_buf_size;

zero_l1_buf(test_results, test_results_size_bytes);
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_STARTED;
test_results[PQ_TEST_STATUS_INDEX+1] = (uint32_t) local_pull_request;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_STARTED;
test_results[TT_FABRIC_STATUS_INDEX + 1] = (uint32_t)local_pull_request;

test_results[PQ_TEST_MISC_INDEX] = 0xff000000;
test_results[PQ_TEST_MISC_INDEX + 1] = 0xcc000000 | src_endpoint_id;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000000;
test_results[TT_FABRIC_MISC_INDEX + 1] = 0xcc000000 | src_endpoint_id;

zero_l1_buf(reinterpret_cast<tt_l1_ptr uint32_t*>(data_buffer_start_addr), data_buffer_size_words * PACKET_WORD_SIZE_BYTES);
zero_l1_buf((uint32_t*)local_pull_request, sizeof(local_pull_request_t));
Expand Down Expand Up @@ -445,7 +445,7 @@ void kernel_main() {
// all the tx workers are ready on this chip
while (*(volatile tt_l1_ptr uint32_t*)signal_address == 0);

test_results[PQ_TEST_MISC_INDEX] = 0xff000001;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000001;

uint64_t data_words_sent = 0;
uint64_t iter = 0;
Expand Down Expand Up @@ -520,23 +520,23 @@ void kernel_main() {
uint64_t cycles_elapsed = get_timestamp() - start_timestamp;

uint64_t num_packets = input_queue_state.get_num_packets();
set_64b_result(test_results, data_words_sent, PQ_TEST_WORD_CNT_INDEX);
set_64b_result(test_results, cycles_elapsed, PQ_TEST_CYCLES_INDEX);
set_64b_result(test_results, iter, PQ_TEST_ITER_INDEX);
set_64b_result(test_results, data_words_sent, TT_FABRIC_WORD_CNT_INDEX);
set_64b_result(test_results, cycles_elapsed, TT_FABRIC_CYCLES_INDEX);
set_64b_result(test_results, iter, TT_FABRIC_ITER_INDEX);
set_64b_result(test_results, total_data_words, TX_TEST_IDX_TOT_DATA_WORDS);
set_64b_result(test_results, num_packets, TX_TEST_IDX_NPKT);
set_64b_result(test_results, zero_data_sent_iter, TX_TEST_IDX_ZERO_DATA_WORDS_SENT_ITER);
set_64b_result(test_results, few_data_sent_iter, TX_TEST_IDX_FEW_DATA_WORDS_SENT_ITER);
set_64b_result(test_results, many_data_sent_iter, TX_TEST_IDX_MANY_DATA_WORDS_SENT_ITER);

if (test_producer.packet_corrupted) {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_BAD_HEADER;
test_results[PQ_TEST_MISC_INDEX] = packet_count;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_BAD_HEADER;
test_results[TT_FABRIC_MISC_INDEX] = packet_count;
} else if (!timeout) {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_PASS;
test_results[PQ_TEST_MISC_INDEX] = packet_count;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_PASS;
test_results[TT_FABRIC_MISC_INDEX] = packet_count;
} else {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_TIMEOUT;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_TIMEOUT;
set_64b_result(test_results, words_flushed, TX_TEST_IDX_WORDS_FLUSHED);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -338,11 +338,11 @@ void kernel_main() {
}

zero_l1_buf(test_results, test_results_size_bytes);
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_STARTED;
test_results[PQ_TEST_STATUS_INDEX + 1] = (uint32_t)local_pull_request;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_STARTED;
test_results[TT_FABRIC_STATUS_INDEX + 1] = (uint32_t)local_pull_request;

test_results[PQ_TEST_MISC_INDEX] = 0xff000000;
test_results[PQ_TEST_MISC_INDEX + 1] = 0xcc000000 | src_endpoint_id;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000000;
test_results[TT_FABRIC_MISC_INDEX + 1] = 0xcc000000 | src_endpoint_id;

zero_l1_buf(
reinterpret_cast<tt_l1_ptr uint32_t*>(data_buffer_start_addr), data_buffer_size_words * PACKET_WORD_SIZE_BYTES);
Expand Down Expand Up @@ -385,7 +385,7 @@ void kernel_main() {
// once tt_fabric kernels have been launched on all the test devices.
while (*(volatile tt_l1_ptr uint32_t*)signal_address == 0);

test_results[PQ_TEST_MISC_INDEX] = 0xff000001;
test_results[TT_FABRIC_MISC_INDEX] = 0xff000001;

uint64_t data_words_sent = 0;
uint64_t iter = 0;
Expand Down Expand Up @@ -476,23 +476,23 @@ void kernel_main() {
uint64_t cycles_elapsed = get_timestamp() - start_timestamp;

uint64_t num_packets = input_queue_state.get_num_packets();
set_64b_result(test_results, data_words_sent, PQ_TEST_WORD_CNT_INDEX);
set_64b_result(test_results, cycles_elapsed, PQ_TEST_CYCLES_INDEX);
set_64b_result(test_results, iter, PQ_TEST_ITER_INDEX);
set_64b_result(test_results, data_words_sent, TT_FABRIC_WORD_CNT_INDEX);
set_64b_result(test_results, cycles_elapsed, TT_FABRIC_CYCLES_INDEX);
set_64b_result(test_results, iter, TT_FABRIC_ITER_INDEX);
set_64b_result(test_results, total_data_words, TX_TEST_IDX_TOT_DATA_WORDS);
set_64b_result(test_results, num_packets, TX_TEST_IDX_NPKT);
set_64b_result(test_results, zero_data_sent_iter, TX_TEST_IDX_ZERO_DATA_WORDS_SENT_ITER);
set_64b_result(test_results, few_data_sent_iter, TX_TEST_IDX_FEW_DATA_WORDS_SENT_ITER);
set_64b_result(test_results, many_data_sent_iter, TX_TEST_IDX_MANY_DATA_WORDS_SENT_ITER);

if (test_producer.packet_corrupted) {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_BAD_HEADER;
test_results[PQ_TEST_MISC_INDEX] = packet_count;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_BAD_HEADER;
test_results[TT_FABRIC_MISC_INDEX] = packet_count;
} else if (!timeout) {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_PASS;
test_results[PQ_TEST_MISC_INDEX] = packet_count;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_PASS;
test_results[TT_FABRIC_MISC_INDEX] = packet_count;
} else {
test_results[PQ_TEST_STATUS_INDEX] = PACKET_QUEUE_TEST_TIMEOUT;
test_results[TT_FABRIC_STATUS_INDEX] = TT_FABRIC_STATUS_TIMEOUT;
set_64b_result(test_results, words_flushed, TX_TEST_IDX_WORDS_FLUSHED);
}
}
Loading