1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Very simple yet very effective memory tester. 4*4882a593Smuzhiyun * Originally by Simon Kirby <sim@stormix.com> <sim@neato.org> 5*4882a593Smuzhiyun * Version 2 by Charles Cazabon <charlesc-memtester@pyropus.ca> 6*4882a593Smuzhiyun * Version 3 not publicly released. 7*4882a593Smuzhiyun * Version 4 rewrite: 8*4882a593Smuzhiyun * Copyright (C) 2004-2012 Charles Cazabon <charlesc-memtester@pyropus.ca> 9*4882a593Smuzhiyun * Licensed under the terms of the GNU General Public License version 2 (only). 10*4882a593Smuzhiyun * See the file COPYING for details. 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * This file contains the declarations for the functions for the actual tests, 13*4882a593Smuzhiyun * called from the main routine in memtester.c. See other comments in that 14*4882a593Smuzhiyun * file. 15*4882a593Smuzhiyun * 16*4882a593Smuzhiyun */ 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #ifndef __CMD_DDR_TOOL_MEMTESTER_TESTS_H 19*4882a593Smuzhiyun #define __CMD_DDR_TOOL_MEMTESTER_TESTS_H 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* Function declaration. */ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun int test_stuck_address(u32v *bufa, size_t count); 24*4882a593Smuzhiyun int test_random_value(u32v *bufa, 25*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 26*4882a593Smuzhiyun int test_xor_comparison(u32v *bufa, 27*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 28*4882a593Smuzhiyun int test_sub_comparison(u32v *bufa, 29*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 30*4882a593Smuzhiyun int test_mul_comparison(u32v *bufa, 31*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 32*4882a593Smuzhiyun int test_div_comparison(u32v *bufa, 33*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 34*4882a593Smuzhiyun int test_or_comparison(u32v *bufa, 35*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 36*4882a593Smuzhiyun int test_and_comparison(u32v *bufa, 37*4882a593Smuzhiyun u32v *bufb, size_t count, ul fix_bit, ul fix_level); 38*4882a593Smuzhiyun int test_seqinc_comparison(u32v *bufa, u32v *bufb, size_t count, 39*4882a593Smuzhiyun ul fix_bit, ul fix_level); 40*4882a593Smuzhiyun int test_solidbits_comparison(u32v *bufa, u32v *bufb, size_t count, 41*4882a593Smuzhiyun ul fix_bit, ul fix_level); 42*4882a593Smuzhiyun int test_checkerboard_comparison(u32v *bufa, u32v *bufb, size_t count, 43*4882a593Smuzhiyun ul fix_bit, ul fix_level); 44*4882a593Smuzhiyun int test_blockseq_comparison(u32v *bufa, u32v *bufb, size_t count, 45*4882a593Smuzhiyun ul fix_bit, ul fix_level); 46*4882a593Smuzhiyun int test_walkbits0_comparison(u32v *bufa, u32v *bufb, size_t count, 47*4882a593Smuzhiyun ul fix_bit, ul fix_level); 48*4882a593Smuzhiyun int test_walkbits1_comparison(u32v *bufa, u32v *bufb, size_t count, 49*4882a593Smuzhiyun ul fix_bit, ul fix_level); 50*4882a593Smuzhiyun int test_bitspread_comparison(u32v *bufa, u32v *bufb, size_t count, 51*4882a593Smuzhiyun ul fix_bit, ul fix_level); 52*4882a593Smuzhiyun int test_bitflip_comparison(u32v *bufa, u32v *bufb, size_t count, 53*4882a593Smuzhiyun ul fix_bit, ul fix_level); 54*4882a593Smuzhiyun #ifdef TEST_NARROW_WRITES 55*4882a593Smuzhiyun int test_8bit_wide_random(u32v *bufa, u32v *bufb, size_t count, 56*4882a593Smuzhiyun ul fix_bit, ul fix_level); 57*4882a593Smuzhiyun int test_16bit_wide_random(u32v *bufa, u32v *bufb, size_t count, 58*4882a593Smuzhiyun ul fix_bit, ul fix_level); 59*4882a593Smuzhiyun #endif 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun #endif /* __CMD_DDR_TOOL_MEMTESTER_TESTS_H */ 62