Lines Matching refs:poly

113 	struct gf_poly poly;  member
342 static inline int deg(unsigned int poly) in deg() argument
345 return fls(poly)-1; in deg()
409 uint32_t poly; in compute_syndromes() local
422 poly = *ecc++; in compute_syndromes()
424 while (poly) { in compute_syndromes()
425 i = deg(poly); in compute_syndromes()
429 poly ^= (1 << i); in compute_syndromes()
612 static int find_poly_deg1_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg1_roots() argument
617 if (poly->c[0]) in find_poly_deg1_roots()
619 roots[n++] = mod_s(bch, GF_N(bch)-bch->a_log_tab[poly->c[0]]+ in find_poly_deg1_roots()
620 bch->a_log_tab[poly->c[1]]); in find_poly_deg1_roots()
627 static int find_poly_deg2_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg2_roots() argument
633 if (poly->c[0] && poly->c[1]) { in find_poly_deg2_roots()
635 l0 = bch->a_log_tab[poly->c[0]]; in find_poly_deg2_roots()
636 l1 = bch->a_log_tab[poly->c[1]]; in find_poly_deg2_roots()
637 l2 = bch->a_log_tab[poly->c[2]]; in find_poly_deg2_roots()
669 static int find_poly_deg3_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg3_roots() argument
675 if (poly->c[0]) { in find_poly_deg3_roots()
677 e3 = poly->c[3]; in find_poly_deg3_roots()
678 c2 = gf_div(bch, poly->c[0], e3); in find_poly_deg3_roots()
679 b2 = gf_div(bch, poly->c[1], e3); in find_poly_deg3_roots()
680 a2 = gf_div(bch, poly->c[2], e3); in find_poly_deg3_roots()
702 static int find_poly_deg4_roots(struct bch_control *bch, struct gf_poly *poly, in find_poly_deg4_roots() argument
708 if (poly->c[0] == 0) in find_poly_deg4_roots()
712 e4 = poly->c[4]; in find_poly_deg4_roots()
713 d = gf_div(bch, poly->c[0], e4); in find_poly_deg4_roots()
714 c = gf_div(bch, poly->c[1], e4); in find_poly_deg4_roots()
715 b = gf_div(bch, poly->c[2], e4); in find_poly_deg4_roots()
716 a = gf_div(bch, poly->c[3], e4); in find_poly_deg4_roots()
930 *h = &((struct gf_poly_deg1 *)f)[gcd->deg].poly; in factor_polynomial()
942 struct gf_poly *poly, unsigned int *roots) in find_poly_roots() argument
947 switch (poly->deg) { in find_poly_roots()
950 cnt = find_poly_deg1_roots(bch, poly, roots); in find_poly_roots()
953 cnt = find_poly_deg2_roots(bch, poly, roots); in find_poly_roots()
956 cnt = find_poly_deg3_roots(bch, poly, roots); in find_poly_roots()
959 cnt = find_poly_deg4_roots(bch, poly, roots); in find_poly_roots()
964 if (poly->deg && (k <= GF_M(bch))) { in find_poly_roots()
965 factor_polynomial(bch, k, poly, &f1, &f2); in find_poly_roots()
1120 static int build_gf_tables(struct bch_control *bch, unsigned int poly) in build_gf_tables() argument
1123 const unsigned int k = 1 << deg(poly); in build_gf_tables()
1137 x ^= poly; in build_gf_tables()