/openbmc/linux/include/linux/ |
H A D | crc8.h | 40 * crc8_populate_lsb - fill crc table for given polynomial in regular bit order. 43 * @polynomial: polynomial for which table is to be filled. 45 * This function fills the provided table according the polynomial provided for 51 * For lsb first direction x^7 maps to the lsb. So the polynomial is as below. 55 void crc8_populate_lsb(u8 table[CRC8_TABLE_SIZE], u8 polynomial); 58 * crc8_populate_msb - fill crc table for given polynomial in reverse bit order. 61 * @polynomial: polynomial for which table is to be filled. 63 * This function fills the provided table according the polynomial provided for 69 * For msb first direction x^7 maps to the msb. So the polynomial is as below. 73 void crc8_populate_msb(u8 table[CRC8_TABLE_SIZE], u8 polynomial); [all …]
|
H A D | polynomial.h | 10 * struct polynomial_term - one term descriptor of a polynomial 24 * struct polynomial - a polynomial descriptor 26 * @terms: polynomial terms, last term must have degree of 0 28 struct polynomial { struct 33 long polynomial_calc(const struct polynomial *poly, long data); argument
|
H A D | bch.h | 24 * @ecc_bits: ecc exact size in bits, i.e. generator polynomial degree (<=m*t) 28 * @mod8_tab: remainder generator polynomial lookup tables 31 * @xi_tab: GF(2^m) base for solving degree 2 polynomial roots 33 * @cache: log-based polynomial representation buffer 34 * @elp: error locator polynomial
|
H A D | rslib.h | 24 * @genpoly: Generator polynomial 88 * @gfpoly: the extended Galois field generator polynomial coefficients, 89 * with the 0th coefficient in the low order bit. The polynomial 91 * @fcr: the first consecutive root of the rs code generator polynomial 93 * @prim: primitive element to generate polynomial roots 94 * @nroots: RS code generator polynomial degree (number of roots)
|
H A D | crc32poly.h | 7 * *the* standard CRC-32 polynomial, first popularized by Ethernet. 14 * This is the CRC32c polynomial, as outlined by Castagnoli.
|
/openbmc/linux/lib/ |
H A D | crc8.c | 24 * crc8_populate_msb - fill crc table for given polynomial in reverse bit order. 27 * @polynomial: polynomial for which table is to be filled. 29 void crc8_populate_msb(u8 table[CRC8_TABLE_SIZE], u8 polynomial) in crc8_populate_msb() argument 38 t = (t << 1) ^ (t & msbit ? polynomial : 0); in crc8_populate_msb() 46 * crc8_populate_lsb - fill crc table for given polynomial in regular bit order. 49 * @polynomial: polynomial for which table is to be filled. 51 void crc8_populate_lsb(u8 table[CRC8_TABLE_SIZE], u8 polynomial) in crc8_populate_lsb() argument 59 t = (t >> 1) ^ (t & 1 ? polynomial : 0); in crc8_populate_lsb()
|
H A D | polynomial.c | 3 * Generic polynomial calculation using integer coefficients. 15 #include <linux/polynomial.h> 44 * static const struct polynomial poly_temp_to_N = { 55 * static const struct polynomial poly_N_to_temp = { 68 * polynomial_calc - calculate a polynomial using integer arithmetic 70 * @poly: pointer to the descriptor of the polynomial 73 * Calculate the result of a polynomial using only integer arithmetic. For 77 * Returns the result of the polynomial calculation. 79 long polynomial_calc(const struct polynomial *poly, long data) in polynomial_calc() 87 * Here is the polynomial calculation function, which performs the in polynomial_calc() [all …]
|
H A D | crc32.c | 144 * @polynomial: CRC32/CRC32c LE polynomial 148 u32 polynomial) argument 155 crc = (crc >> 1) ^ ((crc & 1) ? polynomial : 0); 234 * @polynomial: The modulus used to reduce the result to 32 bits. 243 u32 polynomial) argument 245 u32 power = polynomial; /* CRC of x^32 */ 250 crc = (crc >> 1) ^ (crc & 1 ? polynomial : 0); 257 /* "power" is x^(2^i), modulo the polynomial */ 259 crc = gf2_multiply(crc, power, polynomial); 266 power = gf2_multiply(power, power, polynomial); [all …]
|
H A D | bch.c | 28 * (optional) primitive polynomial parameters. 50 * b. Error locator polynomial computation using Berlekamp-Massey algorithm 55 * factoring the error locator polynomial using the Berlekamp Trace algorithm 56 * (BTA) down to a certain degree (4), after which ad hoc low-degree polynomial 102 * represent a polynomial over GF(2^m) 105 unsigned int deg; /* polynomial degree */ 106 unsigned int c[]; /* polynomial terms */ 109 /* given its degree, compute a polynomial size in bytes */ 112 /* polynomial of degree 1 */ 310 /* polynomial degree is the most-significant bit index */ in deg() [all …]
|
/openbmc/linux/lib/reed_solomon/ |
H A D | reed_solomon.c | 18 * If a codec is newly allocated then the polynomial arrays for fast 60 * @gfpoly: Field generator polynomial coefficients 62 * @fcr: first root of RS code generator polynomial, index form 63 * @prim: primitive element to generate polynomial roots 64 * @nroots: RS code generator polynomial degree (number of roots) 133 /* Form RS code generator polynomial from its roots */ in codec_init() 201 * @gfpoly: the extended Galois field generator polynomial coefficients, 202 * with the 0th coefficient in the low order bit. The polynomial 207 * @fcr: the first consecutive root of the rs code generator polynomial 209 * @prim: primitive element to generate polynomial roots [all …]
|
/openbmc/u-boot/include/linux/ |
H A D | bch.h | 24 * @ecc_bits: ecc exact size in bits, i.e. generator polynomial degree (<=m*t) 28 * @mod8_tab: remainder generator polynomial lookup tables 31 * @xi_tab: GF(2^m) base for solving degree 2 polynomial roots 33 * @cache: log-based polynomial representation buffer 34 * @elp: error locator polynomial
|
/openbmc/u-boot/lib/ |
H A D | bch.c | 16 * (optional) primitive polynomial parameters. 38 * b. Error locator polynomial computation using Berlekamp-Massey algorithm 43 * factoring the error locator polynomial using the Berlekamp Trace algorithm 44 * (BTA) down to a certain degree (4), after which ad hoc low-degree polynomial 109 * represent a polynomial over GF(2^m) 112 unsigned int deg; /* polynomial degree */ 113 unsigned int c[0]; /* polynomial terms */ 116 /* given its degree, compute a polynomial size in bytes */ 119 /* polynomial of degree 1 */ 323 /* polynomial degree is the most-significant bit index */ in deg() [all …]
|
H A D | crc32.c | 39 Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: 44 is just exclusive-or, and multiplying a polynomial by x is a right shift by 45 one. If we call the above polynomial p, and represent a byte as the 46 polynomial q, also with the lowest power in the most significant bit (so the 47 byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, 66 uLong poly; /* polynomial exclusive-or pattern */ in make_crc_table() 67 /* terms of polynomial defining this crc (except x^32): */ in make_crc_table() 71 /* make exclusive-or pattern from polynomial (0xedb88320L) */ in make_crc_table()
|
/openbmc/linux/arch/x86/crypto/ |
H A D | polyval-clmulni_asm.S | 13 * is simply polynomial multiplication. 21 * polynomial multiplications. Further parallelism is gained by interleaving the 22 * multiplications and polynomial reductions. 81 * This step is done when computing the polynomial reduction for efficiency 116 * Computes the 256-bit polynomial represented by LO, HI, MI. Stores 133 * We have a 256-bit polynomial PH : PL = P_3 : P_2 : P_1 : P_0 that is the 141 * bits are zero, the polynomial division by x^128 can be done by right shifting. 147 * the original polynomial gives P_3 : P_2 + P_0 + T_1 : P_1 + T_0 : 0, where T 286 * Perform polynomial evaluation as specified by POLYVAL. This computes:
|
/openbmc/linux/Documentation/staging/ |
H A D | crc32.rst | 7 CRC polynomial. To check the CRC, you can either check that the 21 To produce a 32-bit CRC, the divisor is actually a 33-bit CRC polynomial. 43 the polynomial from the remainder and we're back to where we started, 82 The most significant coefficient of the remainder polynomial is stored 124 and the correct multiple of the polynomial to subtract is found using 179 of a polynomial produces a larger multiple of that polynomial. Thus,
|
/openbmc/linux/arch/arm64/crypto/ |
H A D | polyval-ce-core.S | 15 * is simply polynomial multiplication. 23 * polynomial multiplications. Further parallelism is gained by interleaving the 24 * multiplications and polynomial reductions. 86 * This step is done when computing the polynomial reduction for efficiency 129 * Computes the 256-bit polynomial represented by LO, HI, MI. Stores 159 * We have a 256-bit polynomial PH : PL = P_3 : P_2 : P_1 : P_0 that is the 167 * bits are zero, the polynomial division by x^128 can be done by right 174 * the original polynomial gives P_3 : P_2 + P_0 + T_1 : P_1 + T_0 : 0, where T 324 * Perform polynomial evaluation as specified by POLYVAL. This computes:
|
/openbmc/u-boot/drivers/mtd/nand/raw/ |
H A D | omap_elm.c | 10 * 2. Supports only syndrome polynomial 0. i.e. poly local variable is 11 * always set to ELM_DEFAULT_POLY. Dont see need for other polynomial 30 * @poly: Syndrome Polynomial set to use 156 /* enable interrupt generation for syndrome polynomial set */ in elm_config() 159 /* set continuous mode for the syndrome polynomial set */ in elm_config()
|
/openbmc/linux/arch/s390/crypto/ |
H A D | crc32be-vx.S | 46 * where P(x) is the polynomial in the normal domain and the P'(x) is the 47 * polynomial in the reversed (bitreflected) domain. 179 * The input values to the Barret reduction are the degree-63 polynomial 180 * in V1 (R(x)), degree-32 generator polynomial, and the reduction 201 * Compute the GF(2) product of the CRC polynomial in VO with T1(x) in
|
H A D | crc32le-vx.S | 48 * where P(x) is the polynomial in the normal domain and the P'(x) is the 49 * polynomial in the reversed (bitreflected) domain. 242 * The input values to the Barret reduction are the degree-63 polynomial 243 * in V1 (R(x)), degree-32 generator polynomial, and the reduction 263 * Compute the GF(2) product of the CRC polynomial with T1(x) in
|
/openbmc/linux/arch/arm/crypto/ |
H A D | Kconfig | 28 - PMULL (Polynomial Multiply Long) instructions 33 that uses the 64x64 to 128 bit polynomial multiplication (vmull.p64) 225 CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 242 - PMULL (Polynomial Multiply Long) instructions
|
/openbmc/linux/arch/x86/math-emu/ |
H A D | poly_l2.c | 5 | Compute the base 2 log of a FPU_REG, using a polynomial approximation. | 25 | Base 2 logarithm by a polynomial approximation. | 103 | Base 2 logarithm by a polynomial approximation. | 179 | Base 2 logarithm by a polynomial approximation. | 231 /* Do the basic fixed point polynomial evaluation */ in log2_kernel()
|
/openbmc/u-boot/tools/ |
H A D | pbl_crc32.c | 16 uint32_t poly; /* polynomial exclusive-or pattern */ in make_crc_table() 22 * the polynomial used by PBL is 1 + x1 + x2 + x4 + x5 + x7 + x8 + x10 in make_crc_table()
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-iio-isl29501 | 27 a second order error polynomial. 33 polynomial has to be generated from the data. The
|
/openbmc/u-boot/drivers/mtd/ubi/ |
H A D | crc32.c | 255 * CRC polynomial. To check the CRC, you can either check that the 267 * A 32-bit CRC polynomial is actually 33 bits long. But since it's 281 * the divisor (the CRC polynomial) you're dividing by. Each step of the 290 * the polynomial from the remainder and we're back to where we started, 357 * but again the multiple of the polynomial to subtract depends only on 362 * generator polynomial. This is simply the CRC-32 of the given 366 * is already a multiple of a polynomial produces a larger multiple of that 367 * polynomial. To enable a CRC to detect this condition, it's common to
|
/openbmc/linux/arch/m68k/fpsp040/ |
H A D | satan.S | 30 | Step 3. Approximate arctan(u) by a polynomial poly. 37 | Step 6. Approximate arctan(X) by an odd polynomial in X. Exit. 39 | Step 7. Define X' = -1/X. Approximate arctan(X') by an odd polynomial in X'. 263 |--ATAN(U) IS A VERY SHORT POLYNOMIAL AND THE INDEXING TO 268 |--(DIVISION NEEDED) ANYWAY BECAUSE A POLYNOMIAL APPROXIMATION 269 |--WILL INVOLVE A VERY LONG POLYNOMIAL. 318 |--THE POLYNOMIAL MAY LOOK STRANGE, BUT IS NEVERTHELESS CORRECT. 355 |--COMPUTE POLYNOMIAL
|