Lines Matching refs:ldpc
657 struct xsdfec_ldpc_params *ldpc; in xsdfec_add_ldpc() local
660 ldpc = memdup_user(arg, sizeof(*ldpc)); in xsdfec_add_ldpc()
661 if (IS_ERR(ldpc)) in xsdfec_add_ldpc()
662 return PTR_ERR(ldpc); in xsdfec_add_ldpc()
681 ret = xsdfec_reg0_write(xsdfec, ldpc->n, ldpc->k, ldpc->psize, in xsdfec_add_ldpc()
682 ldpc->code_id); in xsdfec_add_ldpc()
687 ret = xsdfec_reg1_write(xsdfec, ldpc->psize, ldpc->no_packing, ldpc->nm, in xsdfec_add_ldpc()
688 ldpc->code_id); in xsdfec_add_ldpc()
693 ret = xsdfec_reg2_write(xsdfec, ldpc->nlayers, ldpc->nmqc, in xsdfec_add_ldpc()
694 ldpc->norm_type, ldpc->special_qc, in xsdfec_add_ldpc()
695 ldpc->no_final_parity, ldpc->max_schedule, in xsdfec_add_ldpc()
696 ldpc->code_id); in xsdfec_add_ldpc()
701 ret = xsdfec_reg3_write(xsdfec, ldpc->sc_off, ldpc->la_off, in xsdfec_add_ldpc()
702 ldpc->qc_off, ldpc->code_id); in xsdfec_add_ldpc()
707 n = ldpc->nlayers / 4; in xsdfec_add_ldpc()
708 if (ldpc->nlayers % 4) in xsdfec_add_ldpc()
711 ret = xsdfec_table_write(xsdfec, ldpc->sc_off, ldpc->sc_table, n, in xsdfec_add_ldpc()
717 ret = xsdfec_table_write(xsdfec, 4 * ldpc->la_off, ldpc->la_table, in xsdfec_add_ldpc()
718 ldpc->nlayers, XSDFEC_LDPC_LA_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
723 ret = xsdfec_table_write(xsdfec, 4 * ldpc->qc_off, ldpc->qc_table, in xsdfec_add_ldpc()
724 ldpc->nqc, XSDFEC_LDPC_QC_TABLE_ADDR_BASE, in xsdfec_add_ldpc()
727 kfree(ldpc); in xsdfec_add_ldpc()