Lines Matching refs:ldpc
655 struct xsdfec_ldpc_params *ldpc; in xsdfec_add_ldpc() local
658 ldpc = memdup_user(arg, sizeof(*ldpc)); in xsdfec_add_ldpc()
659 if (IS_ERR(ldpc)) in xsdfec_add_ldpc()
660 return PTR_ERR(ldpc); in xsdfec_add_ldpc()
679 ret = xsdfec_reg0_write(xsdfec, ldpc->n, ldpc->k, ldpc->psize, in xsdfec_add_ldpc()
680 ldpc->code_id); in xsdfec_add_ldpc()
685 ret = xsdfec_reg1_write(xsdfec, ldpc->psize, ldpc->no_packing, ldpc->nm, in xsdfec_add_ldpc()
686 ldpc->code_id); in xsdfec_add_ldpc()
691 ret = xsdfec_reg2_write(xsdfec, ldpc->nlayers, ldpc->nmqc, in xsdfec_add_ldpc()
692 ldpc->norm_type, ldpc->special_qc, in xsdfec_add_ldpc()
693 ldpc->no_final_parity, ldpc->max_schedule, in xsdfec_add_ldpc()
694 ldpc->code_id); in xsdfec_add_ldpc()
699 ret = xsdfec_reg3_write(xsdfec, ldpc->sc_off, ldpc->la_off, in xsdfec_add_ldpc()
700 ldpc->qc_off, ldpc->code_id); in xsdfec_add_ldpc()
705 n = ldpc->nlayers / 4; in xsdfec_add_ldpc()
706 if (ldpc->nlayers % 4) in xsdfec_add_ldpc()
709 ret = xsdfec_table_write(xsdfec, ldpc->sc_off, ldpc->sc_table, n, in xsdfec_add_ldpc()
715 ret = xsdfec_table_write(xsdfec, 4 * ldpc->la_off, ldpc->la_table, in xsdfec_add_ldpc()
716 ldpc->nlayers, XSDFEC_LDPC_LA_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
721 ret = xsdfec_table_write(xsdfec, 4 * ldpc->qc_off, ldpc->qc_table, in xsdfec_add_ldpc()
722 ldpc->nqc, XSDFEC_LDPC_QC_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
725 kfree(ldpc); in xsdfec_add_ldpc()