bch_control
struct bch_control *bch;
struct bch_control *bch;
struct bch_control *bch_init(int m, int t, unsigned int prim_poly,
void bch_free(struct bch_control *bch);
void bch_encode(struct bch_control *bch, const uint8_t *data,
int bch_decode(struct bch_control *bch, const uint8_t *data, unsigned int len,
struct bch_control *bch;
int bch_decode(struct bch_control *bch, const uint8_t *data, unsigned int len,
static int build_gf_tables(struct bch_control *bch, unsigned int poly)
static void build_mod8_tables(struct bch_control *bch, const uint32_t *g)
static int build_deg2_base(struct bch_control *bch)
static u8 swap_bits(struct bch_control *bch, u8 in)
static uint32_t *compute_generator_polynomial(struct bch_control *bch)
struct bch_control *bch_init(int m, int t, unsigned int prim_poly,
struct bch_control *bch = NULL;
static void bch_encode_unaligned(struct bch_control *bch,
void bch_free(struct bch_control *bch)
static void load_ecc8(struct bch_control *bch, uint32_t *dst,
static void store_ecc8(struct bch_control *bch, uint8_t *dst,
void bch_encode(struct bch_control *bch, const uint8_t *data,
static inline int modulo(struct bch_control *bch, unsigned int v)
static inline int mod_s(struct bch_control *bch, unsigned int v)
static inline unsigned int gf_mul(struct bch_control *bch, unsigned int a,
static inline unsigned int gf_sqr(struct bch_control *bch, unsigned int a)
static inline unsigned int gf_div(struct bch_control *bch, unsigned int a,
static inline unsigned int gf_inv(struct bch_control *bch, unsigned int a)
static inline unsigned int a_pow(struct bch_control *bch, int i)
static inline int a_log(struct bch_control *bch, unsigned int x)
static inline int a_ilog(struct bch_control *bch, unsigned int x)
static void compute_syndromes(struct bch_control *bch, uint32_t *ecc,
static int compute_error_locator_polynomial(struct bch_control *bch,
static int solve_linear_system(struct bch_control *bch, unsigned int *rows,
static int find_affine4_roots(struct bch_control *bch, unsigned int a,
static int find_poly_deg1_roots(struct bch_control *bch, struct gf_poly *poly,
static int find_poly_deg2_roots(struct bch_control *bch, struct gf_poly *poly,
static int find_poly_deg3_roots(struct bch_control *bch, struct gf_poly *poly,
static int find_poly_deg4_roots(struct bch_control *bch, struct gf_poly *poly,
static void gf_poly_logrep(struct bch_control *bch,
static void gf_poly_mod(struct bch_control *bch, struct gf_poly *a,
static void gf_poly_div(struct bch_control *bch, struct gf_poly *a,
static struct gf_poly *gf_poly_gcd(struct bch_control *bch, struct gf_poly *a,
static void compute_trace_bk_mod(struct bch_control *bch, int k,
static void factor_polynomial(struct bch_control *bch, int k, struct gf_poly *f,
static int find_poly_roots(struct bch_control *bch, unsigned int k,
static int chien_search(struct bch_control *bch, unsigned int len,