Lines Matching refs:poly

124 	struct gf_poly poly;  member
324 static inline int deg(unsigned int poly) in deg() argument
327 return fls(poly)-1; in deg()
391 uint32_t poly; in compute_syndromes() local
404 poly = *ecc++; in compute_syndromes()
406 while (poly) { in compute_syndromes()
407 i = deg(poly); in compute_syndromes()
411 poly ^= (1 << i); in compute_syndromes()
594 static int find_poly_deg1_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg1_roots() argument
599 if (poly->c[0]) in find_poly_deg1_roots()
601 roots[n++] = mod_s(bch, GF_N(bch)-bch->a_log_tab[poly->c[0]]+ in find_poly_deg1_roots()
602 bch->a_log_tab[poly->c[1]]); in find_poly_deg1_roots()
609 static int find_poly_deg2_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg2_roots() argument
615 if (poly->c[0] && poly->c[1]) { in find_poly_deg2_roots()
617 l0 = bch->a_log_tab[poly->c[0]]; in find_poly_deg2_roots()
618 l1 = bch->a_log_tab[poly->c[1]]; in find_poly_deg2_roots()
619 l2 = bch->a_log_tab[poly->c[2]]; in find_poly_deg2_roots()
651 static int find_poly_deg3_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg3_roots() argument
657 if (poly->c[0]) { in find_poly_deg3_roots()
659 e3 = poly->c[3]; in find_poly_deg3_roots()
660 c2 = gf_div(bch, poly->c[0], e3); in find_poly_deg3_roots()
661 b2 = gf_div(bch, poly->c[1], e3); in find_poly_deg3_roots()
662 a2 = gf_div(bch, poly->c[2], e3); in find_poly_deg3_roots()
684 static int find_poly_deg4_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg4_roots() argument
690 if (poly->c[0] == 0) in find_poly_deg4_roots()
694 e4 = poly->c[4]; in find_poly_deg4_roots()
695 d = gf_div(bch, poly->c[0], e4); in find_poly_deg4_roots()
696 c = gf_div(bch, poly->c[1], e4); in find_poly_deg4_roots()
697 b = gf_div(bch, poly->c[2], e4); in find_poly_deg4_roots()
698 a = gf_div(bch, poly->c[3], e4); in find_poly_deg4_roots()
912 *h = &((struct gf_poly_deg1 *)f)[gcd->deg].poly; in factor_polynomial()
924 struct gf_poly *poly, unsigned int *roots) in find_poly_roots() argument
929 switch (poly->deg) { in find_poly_roots()
932 cnt = find_poly_deg1_roots(bch, poly, roots); in find_poly_roots()
935 cnt = find_poly_deg2_roots(bch, poly, roots); in find_poly_roots()
938 cnt = find_poly_deg3_roots(bch, poly, roots); in find_poly_roots()
941 cnt = find_poly_deg4_roots(bch, poly, roots); in find_poly_roots()
946 if (poly->deg && (k <= GF_M(bch))) { in find_poly_roots()
947 factor_polynomial(bch, k, poly, &f1, &f2); in find_poly_roots()
1099 static int build_gf_tables(struct bch_control *bch, unsigned int poly) in build_gf_tables() argument
1102 const unsigned int k = 1 << deg(poly); in build_gf_tables()
1116 x ^= poly; in build_gf_tables()