Lines Matching refs:ldpc
656 struct xsdfec_ldpc_params *ldpc; in xsdfec_add_ldpc() local
659 ldpc = memdup_user(arg, sizeof(*ldpc)); in xsdfec_add_ldpc()
660 if (IS_ERR(ldpc)) in xsdfec_add_ldpc()
661 return PTR_ERR(ldpc); in xsdfec_add_ldpc()
680 ret = xsdfec_reg0_write(xsdfec, ldpc->n, ldpc->k, ldpc->psize, in xsdfec_add_ldpc()
681 ldpc->code_id); in xsdfec_add_ldpc()
686 ret = xsdfec_reg1_write(xsdfec, ldpc->psize, ldpc->no_packing, ldpc->nm, in xsdfec_add_ldpc()
687 ldpc->code_id); in xsdfec_add_ldpc()
692 ret = xsdfec_reg2_write(xsdfec, ldpc->nlayers, ldpc->nmqc, in xsdfec_add_ldpc()
693 ldpc->norm_type, ldpc->special_qc, in xsdfec_add_ldpc()
694 ldpc->no_final_parity, ldpc->max_schedule, in xsdfec_add_ldpc()
695 ldpc->code_id); in xsdfec_add_ldpc()
700 ret = xsdfec_reg3_write(xsdfec, ldpc->sc_off, ldpc->la_off, in xsdfec_add_ldpc()
701 ldpc->qc_off, ldpc->code_id); in xsdfec_add_ldpc()
706 n = ldpc->nlayers / 4; in xsdfec_add_ldpc()
707 if (ldpc->nlayers % 4) in xsdfec_add_ldpc()
710 ret = xsdfec_table_write(xsdfec, ldpc->sc_off, ldpc->sc_table, n, in xsdfec_add_ldpc()
716 ret = xsdfec_table_write(xsdfec, 4 * ldpc->la_off, ldpc->la_table, in xsdfec_add_ldpc()
717 ldpc->nlayers, XSDFEC_LDPC_LA_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
722 ret = xsdfec_table_write(xsdfec, 4 * ldpc->qc_off, ldpc->qc_table, in xsdfec_add_ldpc()
723 ldpc->nqc, XSDFEC_LDPC_QC_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
726 kfree(ldpc); in xsdfec_add_ldpc()