Lines Matching +full:valid +full:- +full:mask

6  *	http://www.apache.org/licenses/LICENSE-2.0
15 /* This is stressapptest for Rockchip platform in U-Boot, the design idea and
61 ARRAY_SIZE(walking_1_data) - 1, /* mask */
75 ARRAY_SIZE(walking_1_x16_data) - 1, /* mask */
94 ARRAY_SIZE(walking_1_x16_repeat_data) - 1, /* mask */
137 ARRAY_SIZE(walking_inv_1_data) - 1, /* mask */
155 ARRAY_SIZE(walking_inv_1_x16_data) - 1, /* mask */
181 ARRAY_SIZE(walking_inv_1_x16_repeat_data) - 1, /* mask */
207 ARRAY_SIZE(walking_0_data) - 1, /* mask */
216 ARRAY_SIZE(one_zero_data) - 1, /* mask */
225 ARRAY_SIZE(one_zero_x16_data) - 1, /* mask */
234 ARRAY_SIZE(just_0_data) - 1, /* mask */
243 ARRAY_SIZE(just_1_data) - 1, /* mask */
252 ARRAY_SIZE(just_5_data) - 1, /* mask */
261 ARRAY_SIZE(just_a_data) - 1, /* mask */
270 ARRAY_SIZE(five_a_data) - 1, /* mask */
279 ARRAY_SIZE(five_a_x16_data) - 1, /* mask */
290 ARRAY_SIZE(five_a8_data) - 1, /* mask */
299 ARRAY_SIZE(five_a8_x16_data) - 1, /* mask */
310 ARRAY_SIZE(five_a8_x16_repeat_data) - 1, /* mask */
319 ARRAY_SIZE(long_8b10b_data) - 1, /* mask */
328 ARRAY_SIZE(short_8b10b_data) - 1, /* mask */
337 ARRAY_SIZE(checker_8b10b_data) - 1, /* mask */
346 ARRAY_SIZE(checker_8b10b_x16_data) - 1, /* mask */
355 ARRAY_SIZE(five_7_data) - 1, /* mask */
364 ARRAY_SIZE(five_7_x16_data) - 1, /* mask */
373 ARRAY_SIZE(zero2_fd_data) - 1, /* mask */
382 ARRAY_SIZE(zero2_fd_x16_data) - 1, /* mask */
440 return get_time_us() - start_time_us; in run_time_us()
456 ret = pattern->pat->data_array[(offset >> pattern->repeat) & in pattern_get()
457 pattern->pat->mask]; in pattern_get()
459 return pattern->inv ? ~ret : ret; in pattern_get()
471 while (i < sat->block_size_byte / sizeof(u32)) { in pattern_adler_sum_calc()
483 pattern->adler_sum.a1 = a1; in pattern_adler_sum_calc()
484 pattern->adler_sum.b1 = b1; in pattern_adler_sum_calc()
485 pattern->adler_sum.a2 = a2; in pattern_adler_sum_calc()
486 pattern->adler_sum.b2 = b2; in pattern_adler_sum_calc()
500 pattern_list[k].weight = pattern_list[k].pat->weight[j / 2]; in pattern_list_init()
507 sat->weight_count = weight_count; in pattern_list_init()
538 if ((start_adr[i] == 0 && length[i] == 0) || page >= sat->page_num) in get_page_addr()
540 if (start_adr[i] + length[i] < sat->total_start_addr) in get_page_addr()
542 if (start_adr[i] < sat->total_start_addr) { in get_page_addr()
543 length[i] -= sat->total_start_addr - start_adr[i]; in get_page_addr()
544 start_adr[i] = sat->total_start_addr; in get_page_addr()
548 while (page < sat->page_num && in get_page_addr()
549 length[i] >= used_length + sat->page_size_byte) { in get_page_addr()
551 used_length += sat->page_size_byte; in get_page_addr()
554 printf(" 0x%09lx - 0x%09lx 0x%09lx\n", in get_page_addr()
559 page, sat->page_size_byte, sat->page_size_byte * page); in get_page_addr()
561 if (sat->total_test_size_mb == 0) { in get_page_addr()
563 sat->page_num = page; in get_page_addr()
564 } else if (page < sat->page_num || page < sat->cpu_num * 4) { in get_page_addr()
568 return -1; in get_page_addr()
581 target = (rand() % sat->weight_count) + 1; in page_init_valid()
583 target -= pattern_list[i++].weight; in page_init_valid()
587 page->pattern = &pattern_list[--i]; in page_init_valid()
588 page->valid = 1; in page_init_valid()
590 mem = (u64 *)page->base_addr; in page_init_valid()
591 for (i = 0; i < sat->page_size_byte / sizeof(u64); i++) in page_init_valid()
592 mem[i] = (u64)pattern_get(page->pattern, i * 2) | in page_init_valid()
593 (u64)pattern_get(page->pattern, i * 2 + 1) << 32; in page_init_valid()
598 page->valid = 0; in page_init_empty()
607 for (cpu = 0; cpu < sat->cpu_num; cpu++) { in page_init()
609 for (i = cpu; i < sat->page_num; i += sat->cpu_num) { in page_init()
611 page_list[i].valid = 1; in page_init()
613 page_list[i].valid = 0; in page_init()
617 while (empty_page_num >= sat->page_num / sat->cpu_num / 2 && i > 0) { in page_init()
618 i -= sat->cpu_num; in page_init()
619 if (page_list[i].valid == 0) { in page_init()
620 page_list[i].valid = 1; in page_init()
621 empty_page_num--; in page_init()
625 while (empty_page_num < 2 && i < sat->page_num) { in page_init()
626 if (page_list[i].valid == 1) { in page_init()
627 page_list[i].valid = 0; in page_init()
630 i += sat->cpu_num; in page_init()
634 for (i = 0; i < sat->page_num; i++) { in page_init()
635 if (page_list[i].valid == 1) in page_init()
643 static u32 page_rand_pick(struct page *page_list, bool valid, in page_rand_pick() argument
648 pick = rand() % sat->page_num; in page_rand_pick()
649 pick = pick / sat->cpu_num * sat->cpu_num + cpu_id; in page_rand_pick()
650 if (pick >= sat->page_num) in page_rand_pick()
653 while (page_list[pick].valid != valid) { in page_rand_pick()
654 pick += sat->cpu_num; in page_rand_pick()
655 if (pick >= sat->page_num) in page_rand_pick()
673 for (i = 0; i < sat->block_size_byte / sizeof(u32); i++) { in block_mis_search()
691 printf(" \'%s%s%d\'", src_pattern->pat->name, in block_mis_search()
692 src_pattern->inv ? "~" : "", in block_mis_search()
693 32 << src_pattern->repeat); in block_mis_search()
699 print_addr = &dst_mem[i] - 64; in block_mis_search()
749 while (i < sat->block_size_byte / sizeof(u32)) { in block_inv_check()
777 if (adler_sum.a1 != src_pattern->adler_sum.a1 || in block_inv_check()
778 adler_sum.b1 != src_pattern->adler_sum.b1 || in block_inv_check()
779 adler_sum.a2 != src_pattern->adler_sum.a2 || in block_inv_check()
780 adler_sum.b2 != src_pattern->adler_sum.b2) in block_inv_check()
792 for (int i = 0; i < sat->block_num; i++) { in page_inv_up()
794 for (int j = 0; j < sat->block_size_byte / sizeof(uint); j++) { in page_inv_up()
798 dst_addr += sat->block_size_byte; in page_inv_up()
809 dst_addr += sat->block_size_byte * (sat->block_num - 1); in page_inv_down()
811 for (int i = sat->block_num - 1; i >= 0; i--) { in page_inv_down()
813 for (int j = sat->block_size_byte / sizeof(uint) - 1; j >= 0; j--) { in page_inv_down()
817 dst_addr -= sat->block_size_byte; in page_inv_down()
828 src = page_rand_pick(page_list, 1, sat, cpu_id); /* pick a valid page */ in page_inv()
838 for (int i = 0; i < sat->block_num; i++) { in page_inv()
840 dst_block_addr += sat->block_size_byte; in page_inv()
854 if (adler_sum->a1 != src_pattern->adler_sum.a1 || in block_copy_check()
855 adler_sum->b1 != src_pattern->adler_sum.b1 || in block_copy_check()
856 adler_sum->a2 != src_pattern->adler_sum.a2 || in block_copy_check()
857 adler_sum->b2 != src_pattern->adler_sum.b2) in block_copy_check()
889 while (i < sat->block_size_byte / sizeof(u64)) { in block_copy()
939 src = page_rand_pick(page_list, 1, sat, cpu_id); /* pick a valid page */ in page_copy()
943 for (int i = 0; i < sat->block_num; i++) { in page_copy()
946 dst_block_addr += sat->block_size_byte; in page_copy()
947 src_block_addr += sat->block_size_byte; in page_copy()
951 page_list[dst].valid = 1; in page_copy()
952 page_list[src].valid = 0; in page_copy()
1039 __sp -= 0x10000; in doing_stressapptest()
1093 printf("Start StressAppTest in U-Boot:\n"); in doing_stressapptest()
1108 printf("Seconds remaining: %d\n", (u32)(test_time_us / 1000000 - now_10s * 10)); in doing_stressapptest()
1158 printf("StressAppTest in U-Boot, " __version__ "\n"); in do_stressapptest()