Lines Matching refs:ldpc
649 struct xsdfec_ldpc_params *ldpc; in xsdfec_add_ldpc() local
652 ldpc = kzalloc(sizeof(*ldpc), GFP_KERNEL); in xsdfec_add_ldpc()
653 if (!ldpc) in xsdfec_add_ldpc()
656 if (copy_from_user(ldpc, arg, sizeof(*ldpc))) { in xsdfec_add_ldpc()
678 ret = xsdfec_reg0_write(xsdfec, ldpc->n, ldpc->k, ldpc->psize, in xsdfec_add_ldpc()
679 ldpc->code_id); in xsdfec_add_ldpc()
684 ret = xsdfec_reg1_write(xsdfec, ldpc->psize, ldpc->no_packing, ldpc->nm, in xsdfec_add_ldpc()
685 ldpc->code_id); in xsdfec_add_ldpc()
690 ret = xsdfec_reg2_write(xsdfec, ldpc->nlayers, ldpc->nmqc, in xsdfec_add_ldpc()
691 ldpc->norm_type, ldpc->special_qc, in xsdfec_add_ldpc()
692 ldpc->no_final_parity, ldpc->max_schedule, in xsdfec_add_ldpc()
693 ldpc->code_id); in xsdfec_add_ldpc()
698 ret = xsdfec_reg3_write(xsdfec, ldpc->sc_off, ldpc->la_off, in xsdfec_add_ldpc()
699 ldpc->qc_off, ldpc->code_id); in xsdfec_add_ldpc()
704 n = ldpc->nlayers / 4; in xsdfec_add_ldpc()
705 if (ldpc->nlayers % 4) in xsdfec_add_ldpc()
708 ret = xsdfec_table_write(xsdfec, ldpc->sc_off, ldpc->sc_table, n, in xsdfec_add_ldpc()
714 ret = xsdfec_table_write(xsdfec, 4 * ldpc->la_off, ldpc->la_table, in xsdfec_add_ldpc()
715 ldpc->nlayers, XSDFEC_LDPC_LA_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
720 ret = xsdfec_table_write(xsdfec, 4 * ldpc->qc_off, ldpc->qc_table, in xsdfec_add_ldpc()
721 ldpc->nqc, XSDFEC_LDPC_QC_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
726 kfree(ldpc); in xsdfec_add_ldpc()